我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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 World
local2.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的存储方式有几种”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

kafka的存储方式有哪几种

Kafka的存储方式主要有两种:持久化存储方式:Kafka使用持久化存储方式将消息持久化到磁盘上,确保消息的可靠性。Kafka使用分段日志的方式来存储消息,每个主题都会被分成多个分区,每个分区都是一个有序的消息日志。Kafka使用两种索引结
2023-10-27

android数据存储方式有哪几种

Android数据存储方式有以下几种:1. Shared Preferences(共享偏好设置):用于存储简单的键值对,适用于存储少量的简单数据,如设置项、用户偏好等。2. 文件存储:可以将数据存储到内部存储(Internal Storag
2023-09-27

Android 数据存储方式有哪几种

以下内容给大家介绍Android数据存储提供了五种方式: 1、SharedPreferences 2、文件存储 3、SQLite数据库 4、ContentProvider 5、网络存储本文主要介绍如何使用文件来存储数据。Android文件操
2022-06-06

Kubernetes几种存储方式性能对比是怎样的

Kubernetes几种存储方式性能对比是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。摘要展示了一个简单的存储对比,使用未经性能优化的多种存储提供的存储卷进行测试和比较
2023-06-04

Oracle存储过程的几种调用方式图文详解

目录一编程客栈、案例场景1.基础环境2.SQL窗口中调用存储过程3.命令窗口中调用存储过程4.Procedures菜单列表中调用存储过程5.Package或Package Bodies菜单列表中调用存储过程6.Jobs菜单列表调用存储过程7
2023-04-14

java中排序的方式有哪几种

在Java中,常见的排序方式有以下几种:1. 冒泡排序(Bubble Sort):通过相邻元素之间的比较和交换来排序。2. 选择排序(Selection Sort):每次从未排序的元素中选取最小(或最大)的元素放到已排序的末尾。3. 插入排
java中排序的方式有哪几种
2024-02-29

Android编程中的5种数据存储方式

本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据
2022-06-06

c++中的函数调用有哪几种方式

c++ 函数调用方式有五种:值传递、引用传递、指针传递、返回值、虚函数调用。值传递传递副本,不会影响实际参数;引用传递传递引用,修改参数会影响实际参数;指针传递传递地址,修改参数会影响实际参数;返回值函数返回给调用函数;虚函数调用特定于面向
c++中的函数调用有哪几种方式
2024-05-01

Java中数组的存储方式有哪些

在Java中,数组的存储方式有以下几种:静态存储:在编译时就确定了数组的大小,并且数组的大小是固定的。静态存储的数组在程序的整个运行周期内都存在,并且存储在堆栈中。动态存储:在运行时才确定数组的大小,并且数组的大小可以根据需要进行调整。动态
2023-10-27

Java中数组的存储方式有哪些

Java中数组存储在连续的主存储器中,采用行优先方式,这意味着元素按行顺序存储。数组头存储有关数组的信息,例如长度和数据类型。数组引用指向数组头,而不是直接指向数组。堆存储用于大数组或包含对象元素的数组。数组的存储布局受数据类型、多维性和存储方式的影响。行优先存储对于大多数操作是最优的,而列优先存储对于特定操作可能更有效。内存优化技术可减少大数组的内存消耗并提高性能。
Java中数组的存储方式有哪些
2024-04-11

Android平台中实现数据存储的5种方式

本文介绍Android中的5种数据存储方式,具体内容如下 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 文件存储数据 3
2022-06-06

Docker中数据卷管理的方式有哪几种

本篇内容介绍了“Docker中数据卷管理的方式有哪几种”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是数据卷数据卷( volume ):
2023-06-20

Java中创建并写文件的方式有几种

这篇文章主要讲解了“Java中创建并写文件的方式有几种”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中创建并写文件的方式有几种”吧!在java中有很多的方法可以创建文件写文件,你是否
2023-06-16

编程热搜

目录