IE11 - 按名称获取对窗口的引用(由另一个域打开)

时间:2016-07-31 03:07:58

标签: javascript internet-explorer popup postmessage

我有以下问题:

  • x.com是我的父母页面
  • y.com是一个生活在x.com内的儿童框架
  • 框架有一个调用window.open('y.com/foo', 'MYWINDOWNAME')
  • 的按钮
  • y.com然后作为弹出窗口打开
+------ x.com (parent) -------+
|                             |
|   +-- y.com (iframe) --+    |    +--- y.com (popup) ---+
|   |                    |    |    |                     |
|   |                    |    |    |                     |
|   |                    |    |    |                     |
|   |      [button]      |    |    |                     |
|   |                    |    |    |                     |
|   |                    |    |    |                     |
|   |                    |    |    |                     |
|   +--------------------+    |    +---------------------+
|                             |
+-----------------------------+

我需要找到一种方法来从y.com (popup)获取对x.com (parent)的引用。这就是我所需要的 - 一个窗口引用 - 显然我会限制访问,因为窗口位于不同的域上,但我仍然需要访问该引用。

在任何其他浏览器中,我只能var mypopup = window.open('', 'MYWINDOWNAME');,但在IE中我收到拒绝访问错误。

我还尝试从y.com (popup)x.com (parent)发送帖子,然后使用event.source获取窗口上的句柄,但在IE11跨域帖子中不支持window->弹出窗口之间的消息。

有没有其他方法可以获得该窗口参考..?

谢谢!

0 个答案:

没有答案