sessionStorage属性允许你访问一个 session Storage 对象。它与 localStorage 相似,不同之处在于 localStorage 里面存储的数据没有过期时间设置,而存储在 sessionStorage里面的数据在页面会话结束时会被清除。页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话。在新标签或窗口打开一个页面会初始化一个新的会话,这点和 session cookies 的运行方式不同。
只读的localStorage 允许你访问一个Document 的远端(origin)对象 Storage;数据存储为跨浏览器会话。 localStorage 类似于sessionStorage。区别在于,数据存储在 localStorage 是无期限的,而当页面会话结束——也就是说当页面被关闭时,数据存储在sessionStorage 会被清除 。
简单来看,localStorage是一个浏览器持久化存储方案,而sessionStorage与session不同的是它只存在于一个页面之中,新开页面的话sessionStorage会被重置。 应注意无论数据存储在 localStorage 还是 sessionStorage ,它们都特定于页面的协议
基本用法
首先我们来看一下sessionStorage的操作
1.保存数据到sessionStorage sessionStorage.setItem('key', 'value');
2.从sessionStorage获取数据
var sessionData = sessionStorage.getItem('key');
3.从sessionStorage删除保存的数据
sessionStorage.removeItem('key');
4.移除所有
sessionStorage.clear();
相同的 localStorage也有着类似的操作
1.保存数据
localStorage.setItem(`key`, `value`);
2.获取数据
let cat = localStorage.getItem(`key`);
3.删除单个数据
localStorage.removeItem(`key`);
4.移除所有
localStorage.clear();
可以通过 localStorage.length 来获取localStorage中键值对的数量,同样的也可以通过 localStorage.key() 方法来遍历 localStorage 存储的键值。
storage 事件
当存储的数据发生变化时,会触发 storage 事件。但要注意的是它不同于click类的事件会事件捕获和冒泡,storage 事件更像是一个通知,不可取消。触发这个事件会调用同域下其他窗口的storage事件,不过触发storage的窗口(即当前窗口)不触发这个事件。storage 的 event 对象的常用属性如下 (当前窗口不触发,其他窗口会触发) 。
changeEvent的常用属性如下:
oldValue:更新前的值。如果该键为新增加,则这个属性为null。
newValue:更新后的值。如果该键被删除,则这个属性为null。
url:原始触发storage事件的那个网页的网址。
key:存储store的key名
以上就是大神为您详解localstorge,seesionstorage的详细内容,转载自php中文网
发表评论 取消回复