【问题标题】:Embed reactjs app with access to localstorage嵌入可以访问本地存储的 reactjs 应用程序
【发布时间】:2020-01-31 18:05:59
【问题描述】:

我有一个使用本地存储的 Reactjs 应用程序,我希望用户能够嵌入我的网站。

我想在嵌入网站时访问本地存储,但我收到以下消息两次:

DOMException:无法从“Window”读取“localStorage”属性:拒绝访问此文档。

当用户正常使用我的网站时,我也会使用本地存储。

如何在通过 iframe 嵌入我自己的网站时检查本地存储

最好我想知道如何在 reactjs 领域内做到这一点,最坏的情况是,我永远无法检查本地存储,他们可以从嵌入登录。

如果不可能,我可以通过在 iframe 中做出反应来检查 cookie 吗?

【问题讨论】:

  • 当您将一个网站嵌入另一个网站时,通常您对底层 JS 引擎的访问权限有限。您收到的错误表明在您使用的嵌入服务/媒体中运行的 JS 引擎不支持localStorage,因此,您不能将localStorage 用于在该上下文中运行的 React 应用程序(嵌入到您正在获取的任何位置这个错误)
  • 当我将它嵌入到一个普通的 index.html 文件中以及通过 nodejs 托管它时,我得到了这个错误。
  • 你是对的。我使用的是 Brave 浏览器,我需要放下所有的防护罩。我浪费了大约 3 个小时来实现 cookie,但最终意识到我从未尝试过其他浏览器或关闭屏蔽。

标签: javascript html reactjs google-chrome brave


【解决方案1】:

如果您使用的是brave,您必须启用“允许所有cookies”,否则跨站cookies将被阻止。在这种情况下,访问 localStorage 的嵌入被视为跨站点 cookie 并将被阻止,因此您可以尝试访问本地存储,如果您收到该错误,您的应用就会知道它在嵌入中。

【讨论】:

    猜你喜欢
    • 2018-10-16
    • 2011-01-10
    • 2012-04-04
    • 2014-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多