H5-新增API-Storage对象
1.本地存储
主流浏览器上都在window对象上定义了两个属性:localStorage和sessionStorage这两个属性都代表同一个Storage对象该对象是一个持久化滚关联数组,数组使用字符串来索引存储的值也是字符串类型的
window.localStorage 永久生效,除非手动清除(同源共享)
window.sessionStorage 临时变量,生命周期为窗口所在事件,(数据可以在同一个
窗口下共享)
方法:
setItem(key,value) 可以设置存储内容
getItem(key) 读取存储内容
removeItem(key) 删除键值为key的存储内容
clear() 清除所有存储内容
实例:
//调用setItem()
localStorage.setItem('name','张三');
//调用getItem()
localStorage.getItem('name');
//调用removeItem()
localStorage.removeItem('name');
localStorage对象有length属性,可以遍历
存储事件(重点)
一个页面来存储localStorage或sessionStorage或改变其值,另一个窗口会触发存储事件(但在数据进行改变的窗口上是不会触发的),为存储事件注册处理程序可以使用addEventListener()方法来注册。事件是“storage”
存储事件相关的事件对象有5个重要属性:
key: 修改或删除的key值,如果调用该clear(),该值为null
newValue: 新设置的值,同理removeItem()则为inull
oldValue: 调用改变前的value值,添加新项时(第一次添加时)为null
storageArea: 当前的storage对象
url: 触发存储变化脚本所在文档的url(哪个页面修改数据返回哪个页面)