2011-10-18 38 views
1

我需要关闭一段时间后经过第三方站点触发的弹出窗口。
我知道我们可以在页面正文中使用setTimeout("self.close()",5000)关闭弹出窗口,但弹出窗口是从其他服务器触发的。我需要在一段时间后关闭弹出窗口

回答

1

我不认为你可以控制从不同的会话打开的窗口。如果可以的话,肯定会是一个很大的安全漏洞。

0

只需拨打新窗口的close方法。

function() { // It is a popup, so obviously you need to call this from a user triggered event and not page load 
    var pop = window.open('http://example.com'); 
    var close = function() { 
     pop.close(); 
    }; 
    setTimeout(close, 2000); 
} 
1

看看这个。

<script type="text/javascript"> 
    var pop; 
    function cl() { 
     form1.elements["wt"].value=65; 
     pop.close(); 
    } 

    function open_win() 
    { 
     pop = window.open("loading_page.html",'popUpWindow','height=200,width=150,left=10,top=10,resizable=yes,position=center,scrollbars=yes,toolbar=no,menubar=no,location=no,directories=no,status=yes',align="center"); 
     setTimeout("cl()",5000); 
    } 
</script> 

我用cl()具有form名称作为form1textfield名称作为wt 5秒后,以填充一个文本字段。

+0

这不是要求的。想象一下,你已经打开了一个做'open()'部分的页面,但是'close()'部分有一个独立的页面。 – Nippey