我知道当用户试图关闭浏览器时我们如何获得弹出窗口。现在我的问题是,如果用户说“留在页面上”,我们如何执行一些代码?该按钮是否有任何点击处理程序?
答案 0 :(得分:3)
尝试使用onbeforeunload
事件。
(function () {
var oldMousemove = document.body.onmousemove,
onCancel = function () {
// Do something if the user stays.
document.body.onmousemove = oldMousemove;
};
window.onbeforeunload = function() {
document.body.onmousemove = onCancel;
return 'Do you really want to leave?';
};
})();
注意:大多数浏览器都不会尊重自定义提示语句,而是倾向于使用自己的语句。
答案 1 :(得分:0)
<script>
(function(){
window.onbeforeunload = function (e) {
if(!e) var e = window.event;
e.cancelBubble = true;
e.returnValue = false;
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
return false;
}
}());
</script>
适用于Firefox和IE 9