2012-04-18 320 views
0

我打开一个弹出如下:如何打开弹出窗口并关闭弹出窗口?

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

我想要做的就是刷新首战时弹出关闭。这可能吗?由于

+0

“opener”是什么意思?调用弹出窗口的页面?或者一个链接? – Lazerblade 2012-04-18 00:30:39

+0

right,opener是调用弹出窗口的父窗口 – AnApprentice 2012-04-18 00:30:55

+0

刷新调用弹出窗口的窗口将导致再次调用弹出窗口,因为您基本上正在重新加载页面/ url。另一种选择是将弹出窗口封装在一个自动执行的函数中,该函数首次将url变量附加到url,并在弹出窗口之前调用该URL变量。 – Lazerblade 2012-04-18 00:33:47

回答

1

下应该这样做(把它内<head>...</head>):

<script> 
window.onunload=function(){ 
    if(window.opener && !window.opener.closed) 
    window.opener.location.reload(true); 
}; 
</script> 
+0

我不能在弹出窗口内放置任何内容,它是外部的... – AnApprentice 2012-04-18 00:40:28

+0

打开弹出窗口的页面具有对弹出窗口的DOM访问权限。你的页面中的'popup'变量可以作为'window'来代替,所以你应该能够执行'popup.onunload = function(){...}' – Ariel 2012-04-18 00:57:48

+0

忽略上面的注释,不能修改域之间的DOM属性... – Ariel 2012-04-18 01:01:17

0

这是一个问题,如果你不能把弹出里的任何东西。如果您无法更改弹出窗口,那么您的选择有限。您可以在窗口第一次打开时(基于PHP或任何您的服务器语言)设置会话变量,并在获得焦点后(假设弹出窗口重点关注初始负载)自动刷新页面。让你的服务器代码检测会话变量,如果已设置,则不要将脚本写入头部。

相关问题