Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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中弹出窗口何时关闭_Javascript_Popup_Window.open_Onunload - Fatal编程技术网

如何知道在javascript中弹出窗口何时关闭

如何知道在javascript中弹出窗口何时关闭,javascript,popup,window.open,onunload,Javascript,Popup,Window.open,Onunload,此代码将在弹出窗口中打开go.com: <a href="javascript:void(0)" onClick="javascript:window.open('http://go.com','','status=yes,scrollbars=yes,toolbar=no,menubar=no,location=no ,width=300px,height=300px')">open</a> 谢谢。每1秒检查一次窗口的状态,看看它是否已关闭,怎么样?未测试的示例代码:

此代码将在弹出窗口中打开go.com:

<a href="javascript:void(0)" onClick="javascript:window.open('http://go.com','','status=yes,scrollbars=yes,toolbar=no,menubar=no,location=no ,width=300px,height=300px')">open</a>

谢谢。

每1秒检查一次窗口的状态,看看它是否已关闭,怎么样?未测试的示例代码:

var mywindow= window.open();
checkmywindow();

function checkmywindow()
{
   if(mywindow.closed)
   {
      //code when popup is closed
   }
   else
   {
      setTimeout("checkmywindow();", 1000);
   }
}

每1秒检查一次窗口的状态,看看它是否已关闭,怎么样?未测试的示例代码:

var mywindow= window.open();
checkmywindow();

function checkmywindow()
{
   if(mywindow.closed)
   {
      //code when popup is closed
   }
   else
   {
      setTimeout("checkmywindow();", 1000);
   }
}

与其直接在窗口中加载外部页面,不如打开一个“本地”窗口,其中包含外部页面内容的iframe?这样,您仍然可以对实际窗口进行足够的控制,以便能够知道窗口何时关闭

一些缺点:地址栏不会显示他们正在浏览的URL,如果go.com有一些框架破坏代码,地址栏也可能会中断

一些示例代码:

function openIFrameInWindow(url) {
    var myWindow = window.open("");

    var iframe = document.createElement("iframe");
    iframe.src = url;

    myWindow.document.body.appendChild(iframe); 

    myWindow.document.body.onbeforeunload = function () { alert("WINDOW CLOSED") }; 
}

<a href="javascript:void(0)" onClick="javascript:openIFrameInWindow('http://go.com')">open</a>
函数openIFrameInWindow(url){ var myWindow=window.open(“”); var iframe=document.createElement(“iframe”); iframe.src=url; myWindow.document.body.appendChild(iframe); myWindow.document.body.onbeforeunload=函数(){alert(“窗口关闭”)}; }
与其直接在窗口中加载外部页面,不如打开一个“本地”窗口,其中包含外部页面内容的iframe?这样,您仍然可以对实际窗口进行足够的控制,以便能够知道窗口何时关闭

一些缺点:地址栏不会显示他们正在浏览的URL,如果go.com有一些框架破坏代码,地址栏也可能会中断

一些示例代码:

function openIFrameInWindow(url) {
    var myWindow = window.open("");

    var iframe = document.createElement("iframe");
    iframe.src = url;

    myWindow.document.body.appendChild(iframe); 

    myWindow.document.body.onbeforeunload = function () { alert("WINDOW CLOSED") }; 
}

<a href="javascript:void(0)" onClick="javascript:openIFrameInWindow('http://go.com')">open</a>
函数openIFrameInWindow(url){ var myWindow=window.open(“”); var iframe=document.createElement(“iframe”); iframe.src=url; myWindow.document.body.appendChild(iframe); myWindow.document.body.onbeforeunload=函数(){alert(“窗口关闭”)}; }
当弹出窗口关闭时,您可以使用window.opener属性通知开启器窗口

因此:

现在,在打开弹出窗口的页面中,您可以检查popUpClosed变量的值

有关opener属性的更多信息,请参见此处:

当弹出窗口关闭时,您可以使用window.opener属性通知开启器窗口

因此:

现在,在打开弹出窗口的页面中,您可以检查popUpClosed变量的值

有关opener属性的更多信息,请参见此处:

他无权访问该窗口,因为它是一个外部页面。opener属性允许访问打开该窗口的页面。这就是我认为问题中描述的是。。但前提是你有权访问正在打开的页面。我怀疑他有权在go.com上修改脚本。他无权访问该窗口,因为它是一个外部页面。opener属性允许访问打开该窗口的页面。这就是我认为问题中描述的是。。但前提是你有权访问正在打开的页面。我怀疑他是否有权修改go.com上的脚本。在IE8中的appendChild行上出现“无此类接口”错误。在IE8中的appendChild行上出现“无此类接口”错误。