如果用户在标签中打开特定资源,我正在使用本地存储来跟踪。在chrome和firefox中,每当用户尝试在两个不同的选项卡中加载资源时,我都可以实现这一点,我的代码会在加载活动时得到通知。例如,如果用户已经打开了R1资源,那么让我拥有资源R1,然后localStorage.getItem(" R1")给我一些值,这意味着Item已经在某个不同的选项卡中打开了。但是在IE9和IE10中我遇到问题事件,当localStorage中存在该项时某些选项卡获取正确的值,但有些选项卡获取空值。即。我在一个标签中打开R1然后我尝试在3个不同的标签中打开R1两个然后得到R1已经打开但是有人说它没有打开。
答案 0 :(得分:0)
Ie9和IE 10完全支持Localstorage。要查看访问caniuse网站并输入localstorage。您也可以使用modernizr进行检查。
答案 1 :(得分:0)
经过一些试验后,我注意到在Internet Explorer的情况下,本地存储不会在标签之间持久存在。我在不同的选项卡中进行了一些操作后,我创建了一个用户操作中更新本地存储的页面,我注意到同一个键在同一个域下的不同选项卡中有不同的值。示例代码:
<html>
<head>
</head>
<body onload="showError()" onbeforeunload="unloadFun()">
<script type="text/javascript">
var timer;
function showError(){
if(localStorage["test"]){
appendActionToLocalStorage("set");
document.getElementById("message").innerHTML=localStorage["renew"];
}
timer=setInterval(function(){appendActionToLocalStorage("renew");},5000);
}
function appendActionToLocalStorage(operation){
if (typeof(Storage) != "undefined") {
if(localStorage["opSeq"]){
localStorage["opSeq"]=localStorage["opSeq"]+"-"+operation;
}
else{
localStorage["opSeq"]=operation;
}
}
}
function funA(){
appendActionToLocalStorage("setA");
}
function funB(){
appendActionToLocalStorage("setB");
}
function funC(){
appendActionToLocalStorage("setC");
}
</script>
<h1> 404 : Resource Not Found</h1>
<h2 id="message"></h2>
<a href="#" onclick="funA()">A</a>
<a href="#" onclick="funB()">B</a>
<a href="#" onclick="funC()">C</a>
</body>
</html>