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

相关问题