1

ローカルストレージから値を削除するストレージイベントをキャプチャして、thisのトラブルシューティングを試みています。私は常にロード時にイベントリスナーを開始するダミーページを開いています。Javascript Storage Event Handler Returns Undefined

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

リスナーはうまくいきます。それは問題ではありません。私の問題は、アラート(evt.url)がモバイルブラウザで「未定義」を返すことです。 Chromeでうまく動作します。

デバイスはSamsung Gingerbread OSを搭載したSamsung Galaxy Tabです。ブラウザはDolphin HDと株式Webkitブラウザです。

編集:iPhoneで試してみましたが、すべてSafariで正常に動作します。また、問題はurl属性にしか関係していないようです。 oldValue、newValue、keyはすべて戻り値です。

+0

ブラウザ固有の問題だと思います。私は本当にこの問題を回避する方法を見ていない。解決策を見つけたら通知してください。 –

答えて

1

ウェブストレージイベントのブラウザ間での採用率は非常に限られていますが、これまでの実装のほとんどはOpera(およびChrome)のみがW3C標準に近づいているため部分的です。 Wikipediaおよびthis Blog postを参照してください。

Chromeのデスクトップ版では「Webストレージ」(多少)をサポートしていますが、システムのアップデートに依存するほとんどのAndroid搭載端末には機能が移植されていません市場)を更新して、ブラウザを更新してください。

+0

ありがとうございます。その答えは非常に明確で思いやりがありました。不足しているlocalStorageの問題を別の方法で追跡しようとします。 – jmease