本地存储 - 同源不同内容

Local Storage - Same origin but different contents

我们有一个非常奇怪的错误,我们怀疑它是 Edge Webview2(基于 Chromium)特有的。

我们正在开发一个 Outlook 加载项,我的机器上的 Outlook 已升级为使用 Edge Webview2 组件而不是 Edge Webview(基于 Legacy Edge)。在此升级过程中,它破坏了我们的应用程序。

当我们对其进行调查时,似乎根据用户所在的页面,为我们提供了不同的 localStorage 上下文,尽管来源相同 - 这一切在重新启动 Outlook 时仍然存在或关闭加载项。此屏幕截图显示了这一点:

有什么我们应该注意解决或调试的吗?

注意:所有其他客户端(所有浏览器中的 Outlook for Web、macOS Outlook 等)都没有此问题。

发生这种情况的原因是加载项在注册表中被标记为“调试”模式。有一个错误(/功能),面板将处于“调试”模式,但从该面板启动的对话框将处于“常规”模式。每个模式的 user-data-dir 是一个不同的目录,因此这有效地使其具有隔离的本地/会话存储。

要禁用此调试模式,您可以删除以下所有键:

Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office.0\WEF\Developer

有关此问题的详细信息,请参阅 Office JS 问题跟踪器:

https://github.com/OfficeDev/office-js/issues/1741


这个特殊的调试功能,我找不到任何 public 文档,我也不知道它是如何启用的。此调试功能不会影响“Classic Edge”渲染引擎。