2015-04-24 57 views
-3

我正在使用Angular的本地存儲,它似乎不能在IE中工作。我需要每次清除瀏覽器歷史記錄才能使其正常工作。我在IE 10和IE 11測試。有沒有其他方法相同?本地存儲在IE中不起作用

+0

轉錄爲什麼會出現一個angularjs標籤嗎? –

+0

根據這個:http://caniuse.com/#search=localstorage localStorage應該工作在IE 8以來 –

+0

是的,但它的工作原理..但正如我說的每次我需要清除瀏覽器的歷史 –

回答

0

錯誤示範:
https://googledrive.com/host/0B8BLd2qPPV7XckcyREs2SUxTODQ/localStorage-test.html

此演示創建了一個名爲 「密押」 一個localStorage的測試重點。然後它啓動一個計時器並每秒增加一次「testKey」。 您可以打開演示的多個實例。這些其他實例監聽存儲事件以更新「testKey」。 嘗試打開演示的幾個實例,並看到它很好地工作。

現在試試這個。從新開始,將IE打開到空白頁面。打開演示並查看testKey增量。接下來,打開第二個實例(一個監聽器頁面),並將其複選框設置爲在退出時刪除testKey。關閉此監聽器選項卡。這會刪除testKey,但只是暫時的。原始實例將在1秒內重新創建並繼續增加它。等待至少一秒鐘以確保重新創建testKey。 (只需在原始實例中確認testKey正在遞增)。現在再次打開一個新的偵聽器實例,可能會發現它找不到「testKey」,所以它會創建另一個testKey並啓動一個1秒間隔計時器來增加它。最後,打開幾個演示實例,看看它是多麼的愚蠢。

*可能。通常是第一次。否則重複聽衆實驗幾次,直到它發生。

Repro'd與IE10,IE11,和Win10


MS-Connect

0

存儲事件在支持localStorage對象的任何地方都受支持,其中包括Internet Explorer 8. IE 8不支持W3C標準addEventListener(儘管最終將在IE 9中添加該標準)。因此,要掛鉤存儲事件,您需要檢查瀏覽器支持哪種事件機制。 (如果您之前已經完成了其他事件,那麼可以跳到本節的末尾。捕獲存儲事件與您曾經捕獲過的其他事件的工作方式相同,如果您更喜歡使用jQuery或其他JavaScript庫註冊您的事件處理程序,你可以做到這一點的儲存事件了。)

if (window.addEventListener) { 
    window.addEventListener("storage", handle_storage, false); 
} else { 
    window.attachEvent("onstorage", handle_storage); 
}; 

的handle_storage回調函數將與StorageEvent對象調用,但在Internet Explorer中該事件對象存儲在窗口。事件。

function handle_storage(e) { 
    if (!e) { e = window.event; } 
} 

來自:http://diveintohtml5.info/storage.html