IE9 和 IE10 是否完全支持本地存储?

Does IE9 and IE10 fully supports Local Storage

本文关键字:存储 支持 IE10 是否 IE9      更新时间:2023-09-26

>我正在使用本地存储来跟踪用户是否在选项卡中打开了特定资源。在 chrome 和 Firefox 中,每当用户尝试在两个不同的选项卡中加载资源时,我都可以实现这一点,我的代码会在加载活动时收到通知。例如,如果用户打开了 R1 资源,则让我有资源 R1,然后 localStorage.getItem("R1") 给我一些值,这意味着 Item 已经在某个不同的选项卡中打开。但是在IE9和IE10中,当该项目存在于本地存储中时,我遇到了问题事件,有些选项卡获得正确的值,但有些选项卡获得空值。即。我在一个选项卡中打开了 R1,然后我尝试在 1 个不同的选项卡中打开 R3,其中两个然后 R1 已经打开,但一个说它没有打开。

经过一些试验,我注意到在IE的情况下,本地存储不会跨选项卡持久化。我制作了一个页面,在不同选项卡中执行某些操作后,该页面在用户操作中更新本地存储,我注意到同一键在同一域下的不同选项卡中具有不同的值。示例代码:

<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>

Ie9 和 IE 10 完全支持 Localstorage。要检查,请访问 caniuse 网站并键入 localstorage。您也可以使用现代化进行检查。

https://caniuse.com/#feat=namevalue-storage