AngularJs应用程序无法从另一个窗口侦听localStorage更改

时间:2017-06-14 13:14:39

标签: javascript angularjs websocket local-storage

在我的AngularJS应用程序中,两个窗口通过localStorage进行通信,以便使用单个websocket连接。主窗口侦听来自服务器的消息,将传入的数据放入localStorage属性。子窗口在此属性上使用角度$ watch将输入数据放入网格中。需要使用不同的窗口和单个连接。

问题是,在浏览器开发工具(F12)未打开之前,子窗口的控制器似乎无法观察localStorage属性。

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

我还有一个角度项目,也使用localstorage和localforage.js。这句话实际上是将你的问题缩小到开发工具,不是吗?:

  

“直到浏览器开发工具(F12)未打开。”

确保取消选中此框。

enter image description here

重新加载页面然后重试。

或者您可以尝试此解决方案:Using localstorage checks in a different window使用window.postMessage()

我们的QA团队报告了使用localstorage打开两个窗口所产生的一些错误,因此数据访问必须紧密同步。因此,子窗口会将数据发送到将处理localstorage的父级。