如果客户试图带着购物车中的物品退出网站,我的老板希望我们的网站显示警报。
当用户试图退出我们的网站时,如何显示警报?此外,如果他们只是导航到我们网站上的另一个页面,我不想显示警报,但前提是他们完全远离我们的网站。
PS我没有使用任何框架。
如果客户试图带着购物车中的物品退出网站,我的老板希望我们的网站显示警报。
当用户试图退出我们的网站时,如何显示警报?此外,如果他们只是导航到我们网站上的另一个页面,我不想显示警报,但前提是他们完全远离我们的网站。
PS我没有使用任何框架。
没有简单的方法来检测离开域。您可以使用 onBeforeUnload 事件轻松检测离开页面,但离开整个域并不是那么简单。正如这里所建议的那样,您可能可以通过实现一个将所有页面加载到 iframe 中的单个母版页来做到这一点......
虽然您可以使用 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>
这使您可以导航到框架内或框架外的链接(仅作为示例都指向同一目的地)。但只有当您外出或关闭浏览器时,才会询问您是否要这样做?