无法获得对现有窗口的引用

时间:2017-05-05 17:23:53

标签: javascript html firefox dom same-origin-policy

我需要在Firefox中的一个窗口中获取一个引用对象,该窗口没有被当前页面打开,但它具有相同的协议,端口和主机。因此遵守同源政策。

我使用下面的代码执行此操作:

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

这在Firefox 52之前有效,但是自52更新以来,此代码只打开一个新的空白选项卡,而不是引用当前打开的窗口。我已经看过52版本中的修复程序,我看不到任何会直接影响它的内容。

在我想要引用的窗口中执行console.log(window.name)返回'MAIN_WINDOW'。所以窗口名称是正确的。

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

1 个答案:

答案 0 :(得分:1)

如果窗口是同源的,您可以使用BroadcastChannel让单独的窗口或标签相互通信