无法获取对现有 window 的引用

Can't get reference to existing window

我需要在 Firefox 中获取一个 window 的引用对象,该对象未被当前页面打开,但具有相同的协议、端口和主机。所以符合同源策略。

我使用下面的代码来做到这一点:

var mainWindow = window.open('', ''MAIN_WINDOW');

这在 Firefox 52 之前有效,但是由于 52 更新此代码只是打开一个新的空白选项卡,而不是引用当前打开的 window。我查看了 52 版本中的修复程序,但看不到任何会直接影响此问题的内容。

在 window 中执行 console.log(window.name) 我想参考 returns“MAIN_WINDOW”。所以 window 名称是正确的。

然后我试图在稍后的代码中访问 window 引用中的帧数组。有没有办法解决这个问题或我可以尝试的替代方法?

如果 windows 是同源的,您可以使用 BroadcastChannel 让单独的 windows 或选项卡相互通信