2015-01-19 2 views
-2

사용자가 탭에서 특정 리소스를 열 었는지 여부를 확인하기 위해 로컬 저장소를 사용하고 있습니다. 크롬과 파이어 폭스에서는 사용자가 두 개의 다른 탭에서 리소스를로드하려고 할 때마다 코드를로드 할 때마다 코드를 가져올 수 있습니다. 예를 들어 사용자가 R1 리소스를 연 다음에 리소스 R1을 갖게하면 localStorage.getItem ("R1")은 아이템이 이미 다른 탭에서 열렸 음을 의미하는 값을 제공합니다. 하지만 IE9와 IE10에서 아이템이 localStorage에 존재할 때 문제 이벤트에 직면하고 있습니다. 일부 탭은 올바른 값을 갖지만 일부는 null 값을가집니다. 즉. 하나의 탭에서 R1을 연 다음 3 개의 다른 탭에서 R1을 열어 보았습니다. 두 개 중 두 개가 이미 열렸지 만 열리지는 않습니다.IE9 및 IE10이 로컬 저장소를 완벽하게 지원합니까?

+2

http://caniuse.com/#search=localstorage –

답변

0

Localstorage는 Ie9 및 IE 10에서 완전히 지원됩니다. caniuse 웹 사이트를 방문하고 localstorage를 입력하십시오. 또한 modernizr을 사용하여 확인할 수 있습니다.

+0

안녕 Swapnil 감사합니다. 시간 (여러 탭을 사용하여) 비동기 적으로 localstorage에서 값을 가져 오려고합니다.이 문제에 직면하고 있지만 루프를 사용하여 가져올 경우 (localStorage.getItem()) 매번 같은 값을 가져옵니다. 그 사이에 값을 변경하지 않더라도 동기화와 관련된 부분이 있습니까? –

0

몇 가지 시련을 겪은 후 인터넷 익스플로러의 경우 로컬 저장소는 여러 탭에서 지속되지 않습니다. 다른 탭에서 작업을 한 후 사용자 작업의 로컬 저장소를 업데이트하는 페이지를 만들었습니다. 동일한 키가 동일한 도메인의 다른 탭에서 다른 값을 갖는 것으로 나타났습니다. 샘플 코드 :

<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> 
관련 문제