在我的AngularJS应用程序中,两个窗口通过localStorage进行通信,以便使用单个websocket连接。主窗口侦听来自服务器的消息,将传入的数据放入localStorage属性。子窗口在此属性上使用角度$ watch将输入数据放入网格中。需要使用不同的窗口和单个连接。
问题是,在浏览器开发工具(F12)未打开之前,子窗口的控制器似乎无法观察localStorage属性。
如何解决此问题?
答案 0 :(得分:1)
我还有一个角度项目,也使用localstorage和localforage.js。这句话实际上是将你的问题缩小到开发工具,不是吗?:
“直到浏览器开发工具(F12)未打开。”
确保取消选中此框。
重新加载页面然后重试。
或者您可以尝试此解决方案:Using localstorage checks in a different window使用window.postMessage()
我们的QA团队报告了使用localstorage打开两个窗口所产生的一些错误,因此数据访问必须紧密同步。因此,子窗口会将数据发送到将处理localstorage的父级。