HTML5 Web 存储详解


Posted in HTML / CSS onSeptember 16, 2016

在客户端存储数据

HTML5 提供了两种在客户端存储数据的新方法:

localStorage - 没有时间限制的数据存储

sessionStorage - 针对一个 session 的数据存储

之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。

HTML5 中,数据不是由每个服务器请求传递的,而是只有在请求时使用数据。它使在不影响网站性能的情况下存储大量数据成为可能

对于不同的网站,数据存储于不同的区域,并且一个网站只能访问其自身的数据

HTML5 使用 JavaScript 来存储和访问数据。

localStorage 方法

localStorage 方法存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用。

如何创建和访问 localStorage:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE HTML>  
  2. <html>  
  3. <body>  
  4.   
  5. <script type="text/javascript">  
  6.   
  7. localStorage.lastname="Smith";   
  8. document.write("Last name: " + localStorage.lastname);   
  9.   
  10. </script>  
  11.   
  12. </body>  
  13. </html>  

下面的例子对用户访问页面的次数进行计数:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE HTML>  
  2. <html>  
  3. <body>  
  4.   
  5. <script type="text/javascript">  
  6.   
  7. if (localStorage.pagecount)   
  8.     {   
  9.     localStorage.pagecount=Number(localStorage.pagecount) +1;   
  10.     }   
  11. else   
  12.     {   
  13.     localStorage.pagecount=1;   
  14.     }   
  15. document.write("Visits: " + localStorage.pagecount + " time(s).");   
  16.   
  17. </script>    
  18.   
  19. <p>刷新页面会看到计数器在增长。</p>  
  20.   
  21. <p>请关闭浏览器窗口,然后再试一次,计数器会继续计数。</p>  
  22.   
  23. </body>  
  24. </html>  

sessionStorage 方法

sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。

如何创建并访问一个 sessionStorage:

JavaScript Code复制内容到剪贴板
  1. <!DOCTYPE HTML>   
  2. <html>   
  3. <body>   
  4.   
  5. <script type="text/javascript">   
  6.   
  7. sessionStorage.lastname="Smith";   
  8. document.write(sessionStorage.lastname);   
  9.   
  10. </script>   
  11.   
  12. </body>   
  13. </html>  

下面的例子对用户在当前 session 中访问页面的次数进行计数:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE HTML>  
  2. <html>  
  3. <body>  
  4.   
  5. <script type="text/javascript">  
  6.   
  7. if (sessionStorage.pagecount)   
  8.     {   
  9.     sessionStorage.pagecount=Number(sessionStorage.pagecount) +1;   
  10.     }   
  11. else   
  12.     {   
  13.     sessionStorage.pagecount=1;   
  14.     }   
  15. document.write("Visits " + sessionStorage.pagecount + " time(s) this session.");   
  16.   
  17. </script>    
  18.   
  19. <p>刷新页面会看到计数器在增长。</p>  
  20.   
  21. <p>请关闭浏览器窗口,然后再试一次,计数器已经重置了。</p>  
  22.   
  23. </body>  
  24. </html>  

以上这篇HTML5 Web 存储详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3 3D制作实战案例分析
Sep 18 HTML / CSS
css3 background属性调整增强介绍
Dec 18 HTML / CSS
HTML5时代CSS设置漂亮字体取代图片
Sep 04 HTML / CSS
初探CSS3中的calc()功能
Jul 14 HTML / CSS
实例讲解CSS3中的border-radius属性
Aug 18 HTML / CSS
基于CSS3 animation动画属性实现轮播图效果
Sep 12 HTML / CSS
CSS3下的渐变文字效果实现示例
Mar 02 HTML / CSS
深入浅析CSS3中的Flex布局整理
Apr 27 HTML / CSS
H5 canvas实现贪吃蛇小游戏
Jul 28 HTML / CSS
html5清空画布方法(三种)
Oct 16 HTML / CSS
canvas如何绘制钟表的方法
Dec 13 HTML / CSS
CSS3鼠标悬浮过渡缩放效果
Apr 17 HTML / CSS
HTML5移动开发图片压缩上传功能
Nov 09 #HTML / CSS
纯HTML5+CSS3制作生日蛋糕代码
Nov 16 #HTML / CSS
HTML5地理定位与第三方工具百度地图的应用
Nov 17 #HTML / CSS
解决img标签上下出现间隙的方法
Dec 14 #HTML / CSS
HTML5-WebSocket实现聊天室示例
Dec 15 #HTML / CSS
详解HTML5通讯录获取指定多个人的信息
Dec 20 #HTML / CSS
详解HTML5表单新增属性
Dec 21 #HTML / CSS
You might like
php文本转图片自动换行的方法
2013/03/13 PHP
php curl的深入解析
2013/06/02 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
php简单计算页面加载时间的方法
2015/06/19 PHP
php判断当前操作系统类型
2015/10/28 PHP
PHP序列化/对象注入漏洞分析
2016/04/18 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
建议大家看下JavaScript重要知识更新
2007/07/08 Javascript
JavaScript 题型问答有答案参考
2010/02/17 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
2016/02/01 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
2016/07/01 Javascript
分析JS中this引发的bug
2017/12/12 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
[05:10]2014DOTA2国际邀请赛 通往胜利之匙赛场探秘之旅
2014/07/18 DOTA
python中的yield使用方法
2014/02/11 Python
Python中的匿名函数使用简介
2015/04/27 Python
JSON Web Tokens的实现原理
2017/04/02 Python
利用python求解物理学中的双弹簧质能系统详解
2017/09/29 Python
Python实现高斯函数的三维显示方法
2018/12/29 Python
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
Python使用paramiko操作linux的方法讲解
2019/02/25 Python
Python 图像对比度增强的几种方法(小结)
2019/09/25 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
python绘制趋势图的示例
2020/09/17 Python
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
新入职员工的自我介绍演讲稿
2014/01/02 职场文书
应届毕业生求职自荐书
2014/01/03 职场文书
党员岗位承诺书
2014/03/25 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
2015毕业生自我评价范文
2015/03/02 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
车间班组长竞聘书
2015/09/15 职场文书