0

如果客户试图带着购物车中的物品退出网站,我的老板希望我们的网站显示警报。

当用户试图退出我们的网站时,如何显示警报?此外,如果他们只是导航到我们网站上的另一个页面,我不想显示警报,但前提是他们完全远离我们的网站。

PS我没有使用任何框架。

4

2 回答 2

4

没有简单的方法来检测离开域。您可以使用 onBeforeUnload 事件轻松检测离开页面,但离开整个域并不是那么简单。正如这里所建议的那样,您可能可以通过实现一个将所有页面加载到 iframe 中的单个母版页来做到这一点......

于 2009-11-19T15:50:04.300 回答
0

虽然您可以使用 onbeforeunload 事件来确定该页面正试图离开该站点,但即使该页面位于您自己的站点上,您也无法获得该页面要访问的新 URL,因为这是违反安全性的。

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

例如:

框架.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>

这使您可以导航到框架内或框架外的链接(仅作为示例都指向同一目的地)。但只有当您外出或关闭浏览器时,才会询问您是否要这样做?

于 2009-11-20T16:16:28.767 回答