千家信息网

HTML5中web Storage的存储方式有几种

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要为大家展示了"HTML5中web Storage的存储方式有几种",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"HTML5中web Storag
千家信息网最后更新 2026年10月31日HTML5中web Storage的存储方式有几种

这篇文章主要为大家展示了"HTML5中web Storage的存储方式有几种",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"HTML5中web Storage的存储方式有几种"这篇文章吧。

前言

HTML5 的 web Storage 存储方式有两种:localStorage 和 sessionStorage。

这两种方式都是通过键值对保存数据,存取方便,不影响网站性能。他们的用法相同,存储时间不同。
localStorage 的数据保存在本地硬件上,可以永久保存,可以手动调用api清除数据。sessionStorage 保存在 session 对象中,会在浏览器关闭时被清除。

web Storage 的大小在浏览器上是有限制的,不同浏览器大小会有区别,在主流浏览器中,大小约为 5M,用来存储普通数据其实已经足够。

用法

以 localStorage 为例,sessionStorage 用法一样:

setItem

保存数据:localStorage.setItem(key,value);

示例:

localStorage.setItem('name','Hello World');

当 key 相同时会覆盖之前的 value,用于修改数据。如果 value 为对象,需转为 json 字符串,否则你读取出来的将会是 [object Object]

getItem

读取数据:localStorage.getItem(key);

示例:

localStorage.getItem('name');       // Hello World

removeItem

删除单个数据:localStorage.removeItem(key);

示例:

localStorage.removeItem('name');localStorage.getItem('name');       // null

删除 key 为 name 的数据后,loaclStorage 里已经获取不到该数据,则返回 null;

clear

删除所有数据:localStorage.clear();

示例:

localStorage.clear();

此时会把 localStorage 中的所有数据都删除。

key

得到某个索引的key:localStorage.key(index);
示例:

localStorage.setItem('name1','Hello World');localStorage.setItem('name2','Hello Linxin');localStorage.key(1);                // name2

获取到索引为 1 的 key,即 name2。

构造函数

在实际项目中,可能需要多次对 localStorage 进行操作,我们可以通过一个构造函数来更好的操作。

示例:

var localEvent = function (item) {    this.get = function () {        return localStorage.getItem(item);    }    this.set = function (val) {        localStorage.setItem(item, val);    }    this.remove = function () {        localStorage.removeItem(item);    }    this.clear = function () {        localStorage.clear();    }}// 使用new字符把构造函数实例化出多个对象var local1 = new localEvent('name1');var local2 = new localEvent('name2');local1.set('Hello World');local2.set('Hello Linxin');local1.get();               // Hello Worldlocal2.get();               // Hello Linxin

这里只是简单的演示,像我们平时在项目中可能要把对象存储起来,就需要在代码里做些处理。

监听 storage 事件

可以通过监听 window 对象的 storage 事件并指定其事件处理函数,当页面中对 localStorage 或 sessionStorage 进行修改时,则会触发对应的处理函数。

window.addEventListener('storage',function(e){    console.log('key='+e.key+',oldValue='+e.oldValue+',newValue='+e.newValue);})

触发事件的时间对象(e 参数值)有几个属性:

  • key : 键值。

  • oldValue : 被修改前的值。

  • newValue : 被修改后的值。

  • url : 页面url。

  • storageArea : 被修改的 storage 对象。

注意:在谷歌浏览器中,需要在不同标签页中修改 storage 才会触发该事件,即 网页A 监听该事件,在 网页B 中修改 localStorage,则 网页A 会触发事件函数。但是在 IE 中,在同个网页修改 localStorage 都会触发该事件。

调试

谷歌浏览器自带调试工具(chrome devtools)非常好用,可以用来调试 localStorage 和 sessionStorage。打开浏览器按f12调出调试工具,可以看到 Application ,点击打开可以看到左边栏有 Storage,包括了 localStorage、sessionStorage、IndexedDB等,选中我们要调试的网站域名,可以看到右边有对应的 key 和 value,可以通过右键进行编辑或删除等。

兼容

IE8 以上就兼容,但是比较特别,需要在服务器上打开的才支持,直接双击打开文件的 file:// 是不兼容的。

到了 IE11 才支持 file:// 下打开的,其他浏览器的支持程度都很高,包括在手机上的兼容。

以上是"HTML5中web Storage的存储方式有几种"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

数据 事件 浏览器 浏览 存储 对象 函数 示例 方式 网页 不同 内容 可以通过 大小 篇文章 处理 支持 监听 相同 字符 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海挚品互联网科技有限公司 互联网金融公司科技 广西互联网科技公司 汉立互联网科技有限公司联系电话 富国互联网科技创新基金 福州新华互联网科技学校 知乎 重庆互联网医院沙龙医盟信息科技 华夏互联网科技业 辽宁互联网新科技 未来五年的互联网科技 浙南科技城互联网大厦建设工程 玉溪新华互联网科技好不好 滨湖区互联网智能科技产品有哪些 高科技互联网套路 银行科技岗属于互联网吗 梅州GM互联网络科技有限公司 富国互联网金融科技混合基金 互联网科技平台产品运营 广东猫王互联网科技有限公司电话 互联网大会出现的黑科技 广州紫鲸互联网科技有限公司 西安纸贵互联网科技有限公司 深圳市运趣互联网科技有限公司 互联网科技项目计划书材料类 移动互联网年度科技创新 互联网科技快讯热点 新氧科技和美国互联网有关系吗 版纳互联网科技选哪家 北京互联网科技类企业分布 科技信息时代互联网发展
0