Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重定向后window.opener如何工作?_Javascript - Fatal编程技术网

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

Javascript 重定向后window.opener如何工作?,javascript,Javascript,我有一页;点击一个链接,我打开一个页面B(在同一个域中)作为弹出窗口 弹出窗口将重定向到另一个域中的页面C,(服务器端) 然后执行一些操作,当操作完成后,重定向回第B页 现在,从第B页,我做: <script type="text/javascript"> var parent = window.opener; parent.HelloWorld(); </script> var parent=window.opener; parent.HelloWo

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

弹出窗口将重定向到另一个域中的页面C(服务器端)

然后执行一些操作,当操作完成后,重定向回第B页

现在,从第B页,我做:

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

var parent=window.opener;
parent.HelloWorld();
HelloWorld()
是我在a
页面上的一个函数。这就是(对我来说)神奇之处:函数被真正调用了


这怎么可能?此时,我调用该函数,页面B的父级应该是页面C
窗口。opener
不是任何标准的一部分,因此它可以做任何它想做的事情

但表示这是对创建此窗口的窗口的引用,实际上是页面a。它不是重定向到此页面的页面(想象一下,这意味着此会话中访问的所有页面仍在内存中并正在运行!)