为什么我无法访问父 window 的变量?
Why am I unable to reach parent window's variables?
假设我打开一个网页,然后 运行 这个 Javascript:
var test = "Success";
window.open(window.location.href);
然后,在打开的window
console.log(window.parent.test);
将产生 undefined
。我可以通过这样做来解决问题:
var test = "Success";
window.open(window.location.href).myParent = window;
然后,在另一个 window
console.log(test);
将产生 "Success"
。这样,问题就解决了,但是我想知道为什么打开的window
开箱后无法到达父window
的变量?
你试过了吗window.opener.test?
或者具体来说:console.log(window.opener.test);
这篇link解释了window.parent和window.opener的区别:When to use window.opener / window.parent / window.top
假设我打开一个网页,然后 运行 这个 Javascript:
var test = "Success";
window.open(window.location.href);
然后,在打开的window
console.log(window.parent.test);
将产生 undefined
。我可以通过这样做来解决问题:
var test = "Success";
window.open(window.location.href).myParent = window;
然后,在另一个 window
console.log(test);
将产生 "Success"
。这样,问题就解决了,但是我想知道为什么打开的window
开箱后无法到达父window
的变量?
你试过了吗window.opener.test?
或者具体来说:console.log(window.opener.test);
这篇link解释了window.parent和window.opener的区别:When to use window.opener / window.parent / window.top