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 相关文章推荐
详解CSS的border边框属性及其在CSS3中的新特性
May 10 HTML / CSS
CSS的pointer-events属性详细介绍(作用和注意事项)
Apr 23 HTML / CSS
5分钟让你掌握css3阴影、倒影、渐变小技巧(小编推荐)
Aug 15 HTML / CSS
HTML5打开本地app应用的方法
Mar 31 HTML / CSS
详解利用canvas实现环形进度条的方法
Jun 12 HTML / CSS
html5 web本地存储将取代我们的cookie
Dec 26 HTML / CSS
基于canvas的骨骼动画的示例代码
Jun 12 HTML / CSS
CSS预处理框架——Stylus
Apr 21 HTML / CSS
用CSS3画一个爱心
Apr 27 HTML / CSS
如何利用 CSS Overview 面板重构优化你的网站
Oct 24 HTML / CSS
使用CSS实现百叶窗效果示例代码
May 07 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一些公用函数的集合
2008/03/27 PHP
微信支付开发维权通知实例
2016/07/12 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
javascript 获取模态窗口的滚动位置代码
2013/08/06 Javascript
深入理解javascript中return的作用
2013/12/30 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
javascript检测是否联网的实现代码
2014/09/28 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
Javascript中浏览器窗口的基本操作总结
2016/08/18 Javascript
jQuery常用样式操作实例分析(获取、设置、追加、删除、判断等)
2016/09/08 Javascript
Vue数据驱动模拟实现4
2017/01/12 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
2019/08/02 jQuery
详解JSON.stringify()的5个秘密特性
2020/05/26 Javascript
Python语言生成水仙花数代码示例
2017/12/18 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
Python基于pandas爬取网页表格数据
2020/05/11 Python
DRF框架API版本管理实现方法解析
2020/08/21 Python
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
纽约JewelryAffairs珠宝店:精细金银时尚首饰
2017/02/05 全球购物
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
新闻记者实习自我鉴定
2013/09/19 职场文书
如何写你的创业计划书
2014/01/07 职场文书
国际会议邀请函范文
2014/01/16 职场文书
现场施工员岗位职责
2014/03/10 职场文书
公司节能减排倡议书
2014/05/14 职场文书
保护地球的宣传语
2015/07/13 职场文书
励志语录:只有自己足够强大,才能不被别人践踏
2020/01/09 职场文书
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android