• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > HTML5本地存储之localStorage、sessionStorage的具体分析

HTML5本地存储之localStorage、sessionStorage的具体分析

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5,localStorage、sessionStorage等相关知识,匿名希望在学习及工作中可以帮助到您

1、概述

localStorage和sessionStorage统称为Web Storage,它使得网页可以在浏览器端储存数据。

sessionStorage保存的数据用于浏览器的一次会话,当会话结束(通常是该窗口关闭),数据被清空;localStorage保存的数据长期存在,下一次访问该网站的时候,网页可以直接读取以前保存的数据。除了保存期限的长短不同,这两个对象的属性和方法完全一样。

它们很像cookie机制的强化版,能够动用大得多的存储空间。目前,每个域名的存储上限视浏览器而定,Chrome是2.5MB,Firefox和Opera是5MB,IE是10MB。其中,Firefox的存储存空间由一级域名决定,而其他浏览器没有这个限制。也就是说,在Firefox中,a.example.com和b.example共享5MB的存储空间。另外,与cookie一样,它们也受同域限制。某个网页存入的数据,只有同域下的网页才能读取。

通过检查window对象是否包含sessionStorage和localStorage属性,可以确定浏览器是否支持这两个对象。

function checkStorageSupport() {    
var result = {};    
//sessionStorage
    if (window.sessionStorage) {
        result.sessionStorage = true;
    } else {
        result.sessionStorage = false;
    }    //localStorage
    if (window.localStorage) {
        result.localStorage = true;
    } else {
        result.localStorage = false;
    }    return result;

}

2、操作方法

2.1 存入/读取数据

sessionStorage和localStorage保存的数据,都以“键值对”的形式存在。也就是说,每一项数据都有一个键名和对应的值。所有的数据都是以文本格式保存。

存入数据用setItem方法。它接受两个参数,第一个是键名,第二个是保存的数据。

sessionStorage.setItem('key', 'value');

localStorage.setTime('key', 'value');

读取数据使用getItem方法。它只有一个参数,就是键名。

var valueSession = sessionStorage.getItem('key');var valueLocal = localStorage.getItem('key');

2.2 清除数据

removeItem方法用于清除某个键名对应的数据。

sessionStorage.removeItem('key');

localStorage.removeItem('key');

clear方法用于清除所有保存的数据。

sessionStorage.clear();

localStorage.clear();

2.3 遍历操作

利用length属性和key方法,可以遍历所有的键。

for (var i = 0; i < localStorage.length; i++) {
    console.log(localStorage.key(i));
}

其中的key方法,根据位置(从0开始)获得键值。

localStorage.key(1);

3、storage事件

当储存的数据发生变化时,会触发storage事件。我们可以指定这个事件的回调函数。

window.addEventListener('storage', onStorageChange);

回调函数接受一个event对象作为参数。这个event对象的key属性,保存发生变化的键名。

function onStorageChange(e) {
    console.log(e.key);
}

除了key属性,event对象的属性还有三个:

oldValue:更新前的值。如果该键为新增加,则这个属性为null。

newValue:更新后的值。如果该键被删除,则这个属性为null。

url:原始触发storage事件的那个网页的网址。

值得特别注意的是,该事件不在导致数据变化的当前页面触发。如果浏览器同时打开一个域名下面的多个页面,当其中一个页面改变sessionStorage或localStorage的数据时,其他所有页面的storage事件会被触发,而原始页面并不触发storage事件。可以通过这种机制,实现多个窗口之间的通信。所有浏览器之中,只有IE浏览器除外,它会在所有页面触发storage事件。

以上就是HTML5本地存储之localStorage、sessionStorage的具体分析的详细内容,更多请关注微课江湖其它相关文章!

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03为什么优酷坚持使用flash,而不用html5?
  • 2018-12-03html5视频播放教程实例
  • 2018-12-03利用HTML5的details, summary实现各种交互效果
  • 2018-12-03HTML5每日一练之datalist标签自动补全的使用
  • 2017-08-06HTML5中drawImage用法分析
  • 2018-12-03css3+javascript怎么做一个旋转的3d盒子?
  • 2018-12-03前后端为什么要分开写
  • 2017-08-06突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
  • 2018-12-03作为一个前端工程师,是往node方面转,还是往HTML5方面转?
  • 2018-12-03概述HTML5的强大与未来发展

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5数据推送SSE原理及应用开发的图文详解
    • HTML5 canvas 基本语法
    • 浅谈HTML5的未来发展
    • HTML最新标准HTML5总结(必看)
    • HTML5元素拖拽drag与拖放drop相关API的具体介绍(图文)
    • HTML 5标签、属性、事件及兼容性速查表
    • HTML5+CSS3应用详解
    • Html5的Reset和Base样式结合的示例代码
    • HTML 5 input placeholder 属性如何完美兼任ie
    • Data URI scheme详解和使用实例及图片base64编码实现方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有