我正在使用 JavaScript API 构建 Excel 加载项。
加载项可以弹出一个浏览器窗口
popup = window.open("https://localhost:3000/#/new", "popup", "status=1, location=1, width=1000, height=1200");
我测试过加载项和弹出的浏览器窗口可以通过postMessage
进行通信。
但是,它们似乎并不共享相同的 localStorage
。例如,如果我在网页中设置 localStorage.setItem("item", "content")
,加载项中的 localStorage.getItem("item")
返回空
。
有谁知道加载项和弹出浏览器窗口是否共享同一个 localStorage?
PS:我测试过一个加载项自身可以在localStorage
中设置一个项目并获取值。此外,网页可以在 localStorage
中设置和获取项目,即使它们可能位于同一浏览器窗口中。
最佳答案
他们没有(在 Office for Windows 上)。它们以不同的信任模式运行,Cookie、localStorage 等不共享。
如果您需要类似弹出窗口的场景,这就是 DialogAPI 的用途。
关于popup - 加载项及其弹出浏览器窗口是否共享同一个 localStorage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43142460/