window.opener在重定向后如何工作?

时间:2013-08-29 08:06:32

标签: javascript

我有 Page A ;点击链接,我打开一个 Page B (在同一个域中)作为弹出窗口。

弹出窗口将重定向(服务器端)设为 Page C 位于另一个域

Page C 进行一些操作,完成后重定向回页面B

现在,从 Page B ,我做:

<script type="text/javascript">
    var parent = window.opener;
    parent.HelloWorld();
</script>

HelloWorld()是我在 Page A 上的一项功能。它就在这里(对我来说)魔术:这个函数真的被称为。

这怎么可能?在那一刻,我将该功能称为 Page B 的父级应该 Page C

1 个答案:

答案 0 :(得分:3)

window.opener不是任何标准的一部分,所以它可以做任何想做的事情......

但是https://developer.mozilla.org/en-US/docs/Web/API/window.opener表示它是对创建此窗口的窗口的引用,实际上是页面A.它是重定向的页面到这个页面(想象一下,这意味着在此会话中访问过的所有页面仍在内存中并正在运行!)。