Javascript存储事件处理程序返回未定义

时间:2011-11-15 13:34:44

标签: javascript javascript-events event-handling local-storage

我正在尝试通过捕获从本地存储中删除值的任何存储事件来解决this问题。我有一个永远打开的虚拟页面,它在加载时开始一个事件监听器:

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

听众发射得很好。这不是问题。我的问题是警报(evt.url)在移动浏览器中返回“未定义”。在Chrome上工作得很好。

该设备是运行Gingerbread OS的三星Galaxy Tab。浏览器是Dolphin HD和股票webkit浏览器。

编辑:在iPhone上尝试过,所有功能都可以在Safari上使用。此外,问题似乎只与url属性有关。 oldValue,newValue和键所有返回值。

1 个答案:

答案 0 :(得分:1)

据我所知,Web存储事件在浏览器中的采用率非常有限,迄今为止大多数实现都是部分的,只有Opera(和Chrome)接近W3C标准。请参阅Wikipediathis Blog post

我认为,虽然桌面版Chrome支持Web存储中的“事件”(有些),但是功能尚未移植到大多数依赖系统更新的Android设备上(而不是通过应用程序市场) )保持他们的浏览器更新。