javascript – win8.1中的localStorage IE11不同步
作者:互联网
我们有两页“/ read”和“/ write”.页面“/ write”每秒用当前时间更新localStorage:
setInterval(function(){
var time = (new Date()).getTime();
localStorage.setItem("time", time);
console.log("set", time);
},1000);
页面“/ read”读取相同的存储空间:
setInterval(function(){
var time = localStorage.getItem("time");
console.log("get", time);
},1000);
有人会认为“/ read”页面应该显示由另一个页面写入localStorage的相同值.但是在Win8.1的IE11中,这已经破了.页面“/ read”从存储中读取一些旧值,并在其上显示相同的值(就像它使用缓存进行本地存储一样).有任何想法吗?
附:两个页面都在同一个域上(实例 – read write)
解决方法:
我在Win 10上找到了解决此问题的方法.如果您在代码中处理window.onstorage事件,则localStorage将刷新所有打开的选项卡.
这件事对我来说很简单:
window.onstorage = function(e){
//Leave this empty
//or add code to handle
//the event
};
我没有彻底测试过这段代码,所以请在任何生产应用程序中使用此方法之前执行此操作.
希望这可以帮助!
标签:javascript,html5,local-storage,internet-explorer,internet-explorer-11 来源: https://codeday.me/bug/20191004/1854541.html