2012-06-12 71 views
0

我遇到了JavaScript问题。 我想要一个脚本,它会在出口整个网站上弹出一个带有问题的消息,如果访问者回答“否”网页关闭,并且他回答“是”,他将被重定向到另一个页面。我在http://www.pgrs.net/2008/01/30/popup-when-leaving-website/找到了一个例子,但它似乎并不适合我。我找不到任何解决方案。 Pleae检查我的代码,并告诉我也许我做错了什么? 这是我的源代码。弹出离开网站时

也许有人会看到一个问题。

<!DOCTYPE html> 
<html lang="lt"> 
<head> 
    <meta charset="utf-8"> 
    <title>PUA.LT</title> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
    <meta name="description" content=""> 
    <meta name="author" content="Perfect WEB Solutions"> 
    <link rel="stylesheet" href="<?php echo base_url("additional/style.css") ?>"> 
    <script src='<?php echo base_url("additional/prototype.js")?>' type='text/javascript' ></script> 
</head> 
<body> 
<script type="text/javascript"> 


Event.observe(document.body, 'click', function(event) { 
    if (Event.element(event).tagName == 'A') { 
    staying_in_site = true; 
    } 
}); 

window.onunload = popup; 

function popup() { 
    if(staying_in_site) { 
    return; 
    } 
    alert('I see you are leaving the site'); 
} 
</script> 

</body> 
</html> 
+0

可能重复[使用Javascript - 确认时离开页面(http://stackoverflow.com/questions/3156052/javascript-confirmation-when-leaving-page) – TheHippo

+0

这也是[检测用户离开网页时的最佳方式](http://stackoverflow.com/questions/147636/best-way-to-detect-when-user-leaves-a-web-page) – Brad

回答

5

试试这个:

window.onbeforeunload = popup; 

function popup() { 
    return 'I see you are leaving the site'; 
} 
+1

这个答案是正确的。您不能有任何警报,标准弹出窗口,确认消息在页面卸载时发生。返回信息是确认信息,但是您可以继续。伟大的东西:) – matsko

+0

即使我点击内部链接,如菜单链接,你的脚本将激活弹出。我只需要在整个web退出。此外,我'am使用Prototype.js框架 –

+0

你必须取消onbeforeunload。如果在网站内点击它,你必须做这样的事情:window.onbeforeunload = null; – emphaticsunshine