温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

HTMl5中sessionStorage和本地存储的方法

发布时间:2022-03-07 16:24:30 来源:亿速云 阅读:171 作者:iii 栏目:web开发

这篇文章主要介绍“HTMl5中sessionStorage和本地存储的方法”,在日常操作中,相信很多人在HTMl5中sessionStorage和本地存储的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”HTMl5中sessionStorage和本地存储的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

因此sessionStorage的不是一种持久化的本地存储,仅仅是会话级别的存储。而localStorage的用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。

一,网络存储和饼干的区别Web存储的概念和Cookie相似性,区别是它是为了达到更大容量存储设计的。Cookie的大小是重叠的,并且每次您请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外饼干还需要指定作用域,不可以跨域调用。除此之外,网络存储拥有setItem,的getItem,的removeItem,清晰等方法,不像饼干需要前端开发者自己封装setCookie方法,getCookie方法。但是曲奇也是不可以或缺的:Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在,而Web存储可能要在本地“存储”数据而生(来自@otakustay的解析)

二,html5 web storage的浏览器支持情况浏览器的支持除IE7及以下不支持外,其他标准浏览器都完全支持(ie及FF需在web服务器里运行),值得一提的是IE总是办好事,例如IE7,IE6中的UserData实际上就是JavaScript本地存储的解决方案。通过简单的代码封装可以统一到所有的浏览器都支持Web存储。要判断浏览器是否支持localStorage可以使用以下代码:

复制代码

代码如下:

if(window.localStorage){ alert(“浏览支持localStorage”)} else { alert(“浏览暂不支持localStorage”)} //或者if(typeof window.localStorage =='undefined'){alert(“浏览暂存)不支持localStorage“)}

三,localStorage和sessionStorage操作

localStorage和sessionStorage都具有相同的操作方法,例如setItem,getItem和removeItem等localStorage和sessionStorage的方法:setItem存储值用途:将值存储到键的范围内:.setItem(key,value)代码示例:

复制代码

代码如下:

sessionStorage.setItem(“ key”,“ value”); localStorage.setItem(“ site”,“ js8.in”);

getItem获取值用途:获取指定密钥本地存储的值的用法:.getItem(key)代码示例:

复制代码

代码如下:

var value = sessionStorage.getItem(“ key”); var site = localStorage.getItem(“ site”);

removeItem删除键用途:删除指定键本地存储的值的用法:.removeItem(key)代码示例:

复制代码

代码如下:

sessionStorage.removeItem(“ key”); localStorage.removeItem(“ site”);

clear清除所有的键/值用途:清除所有的键/值用法:.clear()代码示例:

复制代码

代码如下:

sessionStorage.clear(); localStorage.clear();

四,其他操作方法:点操作和[]

web Storage不但可以用自身的setItem,getItem等方便访问,也可以像普通对象一样用点(。)操作符,及[]的方式进行数据存储,像如下的代码:

复制代码

代码如下:

var storage = window.localStorage; storage.key1 =“ hello”; storage [“ key2”] =“世界”; console.log(storage.key1); console.log(storage [“ key2”]);

五,localStorage和sessionStorage的密钥和长度属性实现遍历

sessionStorage和localStorage提供的密钥()和长度可以方便地实现存储的数据遍历,例如下面的代码:

复制代码

代码如下:

var storage = window.localStorage; for(var i = 0,len = storage.length; i <len; i ++){ var key = storage.key(i); var value = storage.getItem(key); console.log(key +“ =” + value); }

六,storage事件

storage还提供了storage事件,当键值改变或清除的时候,就可以触发storageevent,如下面的代码就添加了一个storageEvent改变的监听:

复制代码

代码如下:

if(window.addEventListener){ window.addEventListener(“ storage”,handle_storage,false); } else if(window.attachEvent){ window.attachEvent(“ onstorage”,handle_storage); }函数handle_storage(e){ if(!e){e = window.event;} }

storageEvent对象的具体属性如下表:

属性 类型 描述

键 串 添加,删除或修改的命名密钥

旧值 任何 先前的值(现已覆盖);如果添加了新项目,则为null

newValue 任何 新值;如果添加了项目,则为null

网址/ uri 串 调用触发此更改的方法的页面

到此,关于“HTMl5中sessionStorage和本地存储的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI