1、cookie会在服务端与客户端之间进行传送,而localStorage、sessionStorage则仅仅保存在客户端;
2、数据大小限制不同,cookie一般大小在KB级别,而localStorage则一般是5MB左右;
3、数据过期时间不同,cookie可以设置过期时间,到达设置时间后,数据会被删除,如果没有设置过期时间,则浏览器窗口关闭时删除数据;localStorage是永久存储,数据需要手动删除;sessionStorage是会话存储,当浏览器窗口关闭时会自动删除数据
4、cookie,localStorage同源页面数据共享;sessionStorage同一页面数据共享,不同浏览器窗口数据不共享
cookie受同源策略的影响吗?localStorage?不同页面共享如何处理?
答:受同源策略影响,如果domain和path有一个不同,则会存在跨域问题,无法实现共享,所以在设置cookie时,为了实现共享,可以将两个页面cookie中domain和path设置一致;
localStorage也受同源策略影响
在页面中创建Iframe标签
let iframe=document.creatElement('iframe');
iframe.postMessage(JSON.stringify({key:"storage",data:obj}),b.URL);
window.onmessage=function(event){
if(event.origin!=b.URL) return;
let payload=JSON.parse(event.data);
localStorage.setItem(payload.key,JSON.stringify(payload.data))
}