Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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_Jquery - Fatal编程技术网

Javascript 如何打开弹出窗口并绑定到关闭的弹出窗口?

Javascript 如何打开弹出窗口并绑定到关闭的弹出窗口?,javascript,jquery,Javascript,Jquery,我正在打开一个弹出窗口,如下所示: popup = window.open(url, "", "width=600,height=300,status=no,scrollbars=no,resizable=no"); popup.focus(); 我想做的是在弹出窗口关闭时刷新打开程序。这可能吗?谢谢以下内容应该可以完成(将其放在中……): window.onunload=function(){ if(window.opener&!window.opener.closed) window.o

我正在打开一个弹出窗口,如下所示:

popup = window.open(url, "", "width=600,height=300,status=no,scrollbars=no,resizable=no");
popup.focus();

我想做的是在弹出窗口关闭时刷新打开程序。这可能吗?谢谢

以下内容应该可以完成(将其放在
中……
):


window.onunload=function(){
if(window.opener&!window.opener.closed)
window.opener.location.reload(true);
};

如果无法在弹出窗口中放置任何内容,则会出现问题。如果您无法更改弹出窗口,则您的选择有限。您可以在窗口第一次打开时设置会话变量(使用PHP或其他服务器语言),并在页面获得焦点后自动刷新页面(假设弹出窗口在初始加载时获得焦点)。让您的服务器代码检测会话变量,如果设置了,就不要将脚本写入头部。

您所说的“opener”是什么意思?调用弹出窗口的页面?或者一个链接?对,opener是调用popup的父窗口刷新调用popup的窗口将导致再次调用popup,因为实际上您将重新加载页面/url。另一个选项是将弹出窗口封装在一个自动执行函数中,该函数第一次将url变量附加到url,并在调用时检查该url变量,然后弹出窗口。打开弹出窗口的页面具有对弹出窗口的DOM访问权。页面中的
popup
变量可以作为
窗口出现,因此您应该能够执行
popup.onunload=function(){…}
<script>
window.onunload=function(){
  if(window.opener && !window.opener.closed)
    window.opener.location.reload(true);
};
</script>