2012-05-07 35 views
1

对HTML页面上使用window.open()打开一个弹出窗口JS弹出打开查看其状态的另一页

pop=window.open('pops.html','mypop'); 

,当我去到新的一页我怎样才能检测是否该弹出仍用java脚本打开或关闭。谢谢

+0

“转到新页面”,这里是什么意思?另一个网站窗口? – ocanal

+0

通过点击链接转到本网站的另一页:) –

+0

这是不可能的,[这里是一个类似的问题](http://stackoverflow.com/questions/7905887/javascript-find-browser-windows-open-with -the-same-domain),打开的窗口只属于window.opener,并不是所有窗口都具有相同的域。 – ocanal

回答

0

您可以使用window.opener.methodYouWantToCall()在打开新窗口的窗口中调用方法来与开窗口对话并告诉它“我仍然打开”之类的东西。你可以阅读更多here。您必须确保该方法存在于窗口中。 这里是一些如何处理它的伪代码:

my_window = window.open(...); 
my_window.opener.document.onUnload = function(){ 
my_window.opener.document.onload = function(){ 
my_window.opener.theWindow(a variable) = my_window; 
} 
}; 

(in new page): 
function check(){ 
if(theWindow != null){ 
if(!theWindow.closed){ 
    // handle 
} 
} else { 
setTimeout("check()", 1000); 
} 
} 
+0

不,我想在另一个网站 –

+0

之后去另一个网页检查一下,就我所知,当你离开的时候你不能做一个变量。你将不得不使用'localStorage'或其他东西。 –

+0

为什么我们不能使用undefined或什么来检查这 –