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; } }
时间: 2024-12-19 22:01:04