javascript - 为什么我无法访问父窗口的变量?

标签 javascript window browser-tab

假设我打开一个网页并运行此 Javascript:

var test = "Success";
window.open(window.location.href);

然后,在打开的窗口

console.log(window.parent.test);

将产生未定义。我可以通过这样做解决问题:

var test = "Success";
window.open(window.location.href).myParent = window;

然后,在另一个窗口

console.log(test);

将产生“成功”。这样,问题就可以解决了,但是我想知道为什么打开的window无法立即访问父window的变量?

最佳答案

你尝试过window.opener.test吗?

或者具体来说:console.log(window.opener.test);

此链接解释了 window.parent 和 window.opener 之间的区别:When to use window.opener / window.parent / window.top

关于javascript - 为什么我无法访问父窗口的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39674813/

相关文章:

javascript - StaticRouter 为 <Link> 标签呈现前导斜杠 [react-router 4.0.0]

javascript - 在 Controller 中使用来自 ngResource 的 get 值

browser - 处于非事件选项卡时闪烁代码 'pauses'?

javascript - 检测选项卡之间的 session 结束

javascript - 类似 jQuery 库的模式

Javascript 将日期传递给 MVC Controller

vim:如何将 "resize"窗口设置为 vim 屏幕大小的一半?

python - Sublime 将 View 添加到窗口

module - 如何在NodeJS中通过字符串 "foo"访问函数 "foo"?

tabs - javascript。无法在 safari 中打开新标签页