HTML5 提供了两种在客户端存储数据的新方法:

localStorage - 没有时间限制的数据存储

sessionStorage - 针对一个 session 的数据存储

之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。

在 HTML5 中,数据不是由每个服务器请求传递的,而是只有在请求时使用数据。它使在不影响网站性能的情况下存储大量数据成为可能。

常用的方法

localStorage.setItem("key","value");//以“key”为名称存储一个值“value”
localStorage.getItem("key");//获取名称为“key”的值
localStorage.removeItem("key");
localStorage.clear();
localStorage.length;//属性
localStorage.key(index)

事件

storage事件,参数为

key,

oldval,

newval,

url,

storage

 

var se = document.createEvent("StorageEvent");
se.initStorageEvent('storage', false, false, key, oldval, newval, url, storage);
window.dispatchEvent(se);


window.addEventListener("storage",function(e){
     console.log(e);
},false);


 

 在同源页面中某一页面对storage数据进行添加或更新处理后,其余的同源页面只要注册了storage事件,就会触发事件。