1

我試圖通過捕獲從本地存儲中刪除值的任何存儲事件來排除故障this。我有一個始終打開的虛擬頁面,負載開始事件監聽器,因此:Javascript存儲事件處理程序返回未定義

window.addEventListener("storage", function (evt) { if (evt.newValue == null || (evt.oldValue != "" && evt.newValue == "")) {alert(evt.url);} }); 

監聽器觸發得很好。這不是問題。我的問題是警報(evt.url)在移動瀏覽器中返回「未定義」。在Chrome上運行得很好。

該設備是運行薑餅操作系統的三星Galaxy Tab。瀏覽器是Dolphin HD和股票webkit瀏覽器。

編輯:試了一下在iPhone上,所有的作品在Safari上都很好。此外,問題似乎只與url屬性有關。 oldValue,newValue和所有返回值。

+0

我認爲這是一個瀏覽器特定的問題。我真的沒有看到任何方式可以解決這個問題。如果您找到解決方案,請通知我。 –

回答

1

據我瞭解,Web Storage Events在瀏覽器中的採用率非常有限,迄今爲止大部分的實現都是部分的,只有Opera(和Chrome)接近W3C標準。見Wikipediathis Blog post

我不認爲這是非常遙不可及的,儘管桌面版Chrome支持網絡存儲中的「事件」(有點),但功能尚未移植到大多數依賴系統更新的Android設備上(而不是通過應用程序市場)保持其瀏覽器更新。

+0

謝謝。這個回答非常明確和深思熟慮。我會嘗試以其他方式追蹤丟失的localStorage問題。 – jmease