【发布时间】:2011-07-28 02:09:35
【问题描述】:
我正在处理这个页面:http://www.weloveflyers.co.uk/order.php
在有人输入他们的订单详细信息后,点击“Let's Go!”订单信息被捕获,显示给他们检查,然后是“立即付款!”按钮出现在底部(试一试,您无需支付任何费用,以便您了解我的意思)
我不想阻止任何人在点击“开始”按钮之前离开页面,但如果他们已经点击了“开始吧!” (即下订单)但尚未点击“立即付款!”我希望能够与他们确认“您真的要离开吗?如果您不付款就离开,您的订单将被取消!”
在确保它仅在已下订单时才起作用的复杂性之前,我尝试了一个非常基本的 onbeforeunload 设置,以查看浏览器是否支持它。我似乎在 Safari 中获得了对这个功能的零星支持,通常它不起作用,但偶尔会起作用,而在 Chrome 中它根本不起作用。
我们将不胜感激地收到任何人可以提供的任何帮助或建议!
谢谢,
菲尔
附:为了您的信息,我暂时从实时页面中删除了所有 onbeforeunload 功能,因为我不想惹恼访问者,直到我做对了并且它完全符合我的要求。
更新:这是最新的尝试:
var needToConfirm = true;
window.onbeforeunload = confirmExit;
function confirmExit() {
if (needToConfirm)
return "Message";
};
【问题讨论】:
-
您能否发布您用于绑定 onbeforeunload 事件的代码?
-
我最近的尝试是使用这个:
code/code在实验过程中,我确实尝试将 needToConfirm 设置为 false,使用“Let's Go!”按钮将其设置为 True,然后使用“立即付款”按钮将其设置回 False,以便仅在适当的时候触发它。 -
您最近的尝试在 Chrome 中对我来说效果很好。
标签: javascript google-chrome safari onbeforeunload