1
我使用IE10和我有兩個標籤: - TAB1:index.html的 - TAB2:update.htmllocalStorage的IE10中不起作用
在TAB2:
var tel = getURLParameter('TELNR');
if (typeof (Storage) !== "undefined") {
localStorage.setItem("telephone", "" + tel + "");
}
在TAB1:
function handleStorage(oEvent) {
var telephone = localStorage.getItem("telephone");
if (telephone != null) {
alert("New call from this phone number:" + telephone);
}
};
$(window).bind('storage', handleStorage);
我第一打開TAB1它等待一個事件的發生。然後我打開tab2傳遞給定的電話號碼。 tab1上的監聽器被正確觸發,但電話爲空。如果我刷新tab2,則此次使用正確的編號調用handleStorage。
這完美適用於Chrome和Firefox。 任何線索?
a)什麼是'存儲'在那裏做,爲什麼你檢查它? b)你確定你實際上正在改變**的價值嗎?當存儲值被**改變時,'onStorage'只會觸發**。這似乎意味着你第一次沒有正確設置它。 –
爲了安全起見,我刪除了if語句if(typeof(Storage)!==「undefined」),但沒有任何變化。我100%肯定我正在改變價值。第一次tab2將值設置爲X,並且tab1理解某些內容已更改,但是當我檢索到值時,我將返回「null」。順便說一下,我已經看到,如果在tab1中我編碼:var telephone = oEvent.originalEvent.newValue我有正確的值,所以已經有一個解決方法。不過,我希望localStorage解決方案能夠在第一時間正常工作。 –
嘗試使用onstoragecommit事件而不是onstorage事件 –