我需要在用户尝试关闭浏览器窗口时提示用户。例如,当您在进入GMail并开始撰写新邮件后,若您在保存任何内容之前尝试关闭页面,GMail将会弹出一个消息框,类似于:
您真的要退出此页面吗?
然后您可以选择离开页面或者停留在当前页面。所以我想知道他们是如何做到这一点,以及当用户点击“留在此页”时用了什么技巧(如果有的话)。
您真的要退出此页面吗?
然后您可以选择离开页面或者停留在当前页面。所以我想知道他们是如何做到这一点,以及当用户点击“留在此页”时用了什么技巧(如果有的话)。
window.beforeunload = function(){
if(isPerformingOperation) {
return 'Are you sure you want to leave?';
}
}
当您想提示用户时,请将isPerformingOperation
设置为true,完成后将其关闭。
将一个函数绑定到onbeforeunload
事件上。
window.onbeforeunload = function(){
return 'Are you sure you want to leave?';
};
应该在所有浏览器中都能正常工作(已在IE 8、FF 3.6和Chrome 9中进行了测试)。
或者使用jQuery:
$(window).bind('beforeunload', function(){
return 'Are you sure you want to leave?';
});