我有window.onbeforeunload正确触发。它显示一个确认框,以确保用户知道他们正在浏览(关闭)窗口,并且任何未保存的作品都将被删除。当window.onbeforeunload被触发时如何检测链接是否被点击?
我有一个独特的情况,我不希望这触发如果用户通过单击链接导航离开页面,但我无法弄清楚如何检测链接是否已被点击功能停止功能。这是我对代码:
window.onbeforeunload = function() {
var message = 'You are leaving the page.';
/* If this is Firefox */
if(/Firefox[\/\s](\d+)/.test(navigator.userAgent) && new Number(RegExp.$1) >= 4) {
if(confirm(message)) {
history.go();
}
else {
window.setTimeout(function() {
window.stop();
}, 1);
}
}
/* Everything else */
else {
return message;
}
}
这是您的答复十分感谢。我试图在没有jQuery的情况下使用它 - 我试图找出如何整合poormans的实现,但似乎无法弄清楚(原谅我,我是一个JS新手)。 – mirin 2013-03-08 15:00:52
你的代码是半正确的。我已经用完整的答案回答了这个问题。 – mirin 2013-03-09 16:42:42
如果任何人有问题让它在IE中工作,我不得不返回undefined而不是null。适用于ie和chrome。 – Janspeed 2017-03-29 06:53:23