2011-03-04 232 views
1

弹出在浏览器关闭在浏览器关闭

我使用onbeforeunload事件

<script> 
function showPopup() 
{ 

    urlstring = "http://www.mydomain.com/popup.php"; 
      window.open(urlstring,'mywin',"height=400px,width=500px,status=no,toolbar=no"); 

} 



</script> 

<body onbeforeunload="showPopup(); "> 

,但它也显示弹出当过我打回的空间和页面刷新显示弹出。

我只想在浏览器关闭时显示弹出窗口,并且在返回空间时不显示。

但它显示所有条件。

请为我推荐任何其他解决方案。

+0

当他们导航到不同的域,或浏览器关闭时,或者两者兼得时,您是否想显示弹出窗口? – Infotekka 2011-03-04 06:29:33

回答

1

嗯,这里是一个严酷的事实...

onbeforeunload是在刷新页面和浏览器密切解雇。

每次页面即将卸载时,都会触发onbeforeunload事件。

其中包括

  1. 单击链接
  2. 在表单提交
  3. 关闭浏览器(或标签)
  4. 刷新页面

您可能会发现这是很有帮助的 http://www.webdeveloper.com/forum/archive/index.php/t-36808.html

3

这是每次都显示一个弹出窗口,因为onbeforeunload事件不知道您要离开的域,它只知道当前页面正在卸载一个新页面。

+0

这是OP已经知道什么是不同的黑白OP的问题和你的答案。这根本不能回答这个问题。 – 2011-03-04 06:26:51

+0

@Singh不知道你在这里说什么,但我认为它适当地回答了这个问题。 @infotekka说onbeforeunload并不是Pradeep试图做的事情的适当方法。 – 2011-03-04 06:29:32

+0

@ a.stgeorge他问怎么做不为什么它发生,答案都是关于它发生的原因 – 2011-03-04 06:32:13

1
<script> 
    function showPopup(){ 
     urlstring = "http://www.mydomain.com/popup.php"; 
     window.open(urlstring,'mywin',"height=400px,width=500px,status=no,toolbar=no"); 
    } 

    window.onunload= showPopup(); 
    </script> 

注:这是DOM级别0不是任何标准

编辑的零件:注意Infotekka的链接document.onunload也将适当地对这一问题的工作。

1

你不能。

您的页面(包括其事件)不知道其他选项卡,其他页面或浏览器本身。它也不知道它为什么被卸载。 onunload事件是最接近你会得到的,但它每次当你的页面被卸载时,也导航。

+0

这个onunload事件在每次卸载页面时都会触发,而不仅仅是关闭,也就是说单击一个内部链接,或者Golez说的是网站中的导航项。 – 2011-03-04 07:00:14