我有一个要求,我通过 1 个窗口打开 2 个浏览器窗口。假设 A 打开 B 和 C。然后在其中一个子窗口(假设 B)中,我打开另一个窗口(假设 D)。现在,在这个新窗口 (D) 中,我想访问 C 的对象,以检查该窗口是打开还是关闭。
我可以用 javascript 做吗?
我知道您可以通过使用 window.open 和 window.opener 但这只适用于浏览器窗口具有父子关系的情况。但就我而言,这并没有发生。
任何帮助都将不胜感激。
最佳答案
是的,你可以。假设您的页面 A 像这样打开窗口 B 和 C:
var b = window.open("childB.html", "_blank");
var c = window.open("childC.html", "_blank");
然后你的窗口 b
是页面 childB.html
打开 windowd d
var d = window.open("childD.html", "_blank")
在 childD.html
的 javascript 代码中,您可以放置代码:
var propC = opener.opener.c.propertyOfC;
opener.opener
将引用原始窗口 A,它可以引用 .c
及其所有对象
您将必须添加检查窗口/属性是否存在(很可能会按顺序进行 try/catch)
关于javascript - 当这两个浏览器完全独立时,将 window.open 对象从一个浏览器传递到另一个浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17094078/