html5存储

html5之前实现浏览器存储,使用cookies。

cookies的特点:包含在http请求头中,内容不能大于4KB,如果主域名中设置了某个cookies,每个子域名的访问,都会在请求头中带上该cookies(主域名污染

)。

h5存储特点:解决了4KB的大小限制,不用在请求头中带存储信息,可以使用存储数据库,跨浏览器支持。

经常使用的两个存储变量localStorage,sessionStorage.它们分别有getItem,setItem,removeItem等方法。

他们可以存数组,图片,脚本,json数据等,子域名之间不能共享数据,超出存储大小时如何处理?可以采用FIFO先进先出方式把最先的删除或者LRU(Least Recently Used 近期最少使用算法)

生命周期:localStorage除非删除才会失效,sessionStorage只要关闭浏览器就会失效。。

设置localStorage更新策略,

function set(key,data){

   var curT= new Date().getTime();

   localStorage.setItem(key,JSON.stringify({data:data,time:curT}));
}

function get(key,exp){
  var data = localStorage.getItem(key);
  
  var dataObj = JSON.parse(data);

  if(new Date().getTime()-dataObj.time>exp){
      console.log("超时");
  }
  else{
     dataObj.data;
  }

}

  

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。