2009-11-19 80 views
0

我的老板希望我们的网站在客户尝试使用购物车中的物品退出网站时显示警报。JavaScript:用户退出网站时发出警报?

如何在用户尝试退出我们的网站时显示警报?此外,如果我们只是在导航到我们网站上的其他页面,但是只有在他们完全离开我们的网站时才会显示警告。

P.S.我没有使用任何框架。

+1

dup http://stackoverflow.com/questions/1619930/how-to-check-users-leave-a-page – 2009-11-19 15:43:02

+2

...这又是一个dup http://stackoverflow.com/questions/147636 /最好的路到检测,当用户树叶-A-网页 – 2009-11-19 15:43:39

回答

3

有没有简单的方法来检测离开一个域。您可以使用onBeforeUnload事件轻松地检测出页面,但是留下整个域并不那么简单。如建议here,你可以通过实现一个单一的母版页来加载一个iframe中的所有页面...

0

虽然你可以使用onbeforeunload事件来确定页面试图离开网站,但你可以即使它位于您自己的网站上,也不会获取该网页的新网址,因为这是违反安全规定的情况。

我能想到的唯一解决方法是在另一篇文章中通过使用Iframe或全帧建议,但是这给了URL静态的困难并因此阻止了书签。

例如为:

frame.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
    <head> 
    <script language='JavaScript' type='text/javascript'> 
     window.onbeforeunload = function (evt) { 
     return "This is a demonstration that you are leaving me"; 
     } 
    </script> 

    <frameset border='0' rows="*"> 
     <frame src='test_page.htm' border=0 scrolling=no frameborder=0 noresize name=top> 
    </frameset> 
    </body> 
</html> 

例如测试页

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    <head> 
    </head> 
    <body> 
    Hello World 
    <p> 
    <a href='javascript:top.location.href="http://www.google.com"'> Outside link Google</a> 
    </p> 
    <p> 
    <a href='http://www.google.com'> Inside frame link to Google</a> 
    </p> 
    </body> 
</html> 

这样就可以导航到链接要么在框架内或外架(只是作为例子既到相同的目的地)。但是,只有当您出门或关闭浏览器时,才会问您是否要这样做?