javascript - 我可以在父窗口中设置本地存储项目吗?

标签 javascript

初始页面位于端口 3001(无服务器,CRA 前端),可以打开一个指向 3000 端口(Rails 服务器)的弹出窗口。

我正在尝试在父窗口(打开器)中设置 localStorage 值。

<<-HEREDOC
  window.opener.localStorage.setItem('authorization', 'Bearer #{@jwt_token}');
  window.close();
HEREDOC

但是我得到了

enter image description here

你认为有什么方法可以将弹出窗口的存储值添加到打开器中吗?

最佳答案

这是来自 MDN 的一个简单示例,展示了如何实现跨文档消息传递。据我所知,这是您的用例:

https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage#Example

这里是相关的引用,解释了为什么考虑这个替代方案很重要:

The window.postMessage() method safely enables cross-origin communication between Window objects; e.g., between a page and a pop-up that it spawned, or between a page and an iframe embedded within it.

关于javascript - 我可以在父窗口中设置本地存储项目吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49867890/

相关文章:

javascript - knockout : autocomplete on combobox binding not clearing the observable

javascript - 使用 React 和 Material UI 禁用自动填充表单

javascript - JavaScript 中的日期解析和验证

javascript - AngularJS Promise Chaining 中返回相同的数据

javascript - jQuery:这些对于 find() 方法来说都是正确的吗?

javascript - 我可以将 html 元素传递到 jinja 变量中吗?

javascript - 如何处理 reducer 中的异步 promise

javascript - 每个(不同的)类触发一次点击事件

javascript - 使用 html5 朗读文本

javascript - 辅助功能 - 提醒用户按钮内的动态文本更改