我知道关于这件事有很多问题,但没有什么是对的。当用户离开页面时,我想显示一个确认对话框。如果用户按下“取消”,他将停留在页面上,如果确定,他所做的更改将通过调用方法进行回滚。我做过这样的事:
window.onbeforeunload = function () {
var r = confirm( "Do you want to leave?" );
if (r == true) {
//I will call my method
}
else {
return false;
}
};问题是,我的浏览器默认弹出:"LeavePage / StayOnPage“
此页面要求您确认是否要离开--您输入的数据可能无法保存。
这个消息显示在Firefox中,在Chrome中有一点不同。在第一个确认对话框中按OK之后,我就会弹出这个对话框。
有没有办法不显示这个对话框?(第二个,不是我创造的)。或者如果有任何方法控制这个弹出式弹出,有人知道怎么做吗?谢谢
发布于 2013-10-04 11:30:10
下面是我所做的,修改以满足您的需要:
// This default onbeforeunload event
window.onbeforeunload = function(){
return "Do you want to leave?"
}
// A jQuery event (I think), which is triggered after "onbeforeunload"
$(window).unload(function(){
//I will call my method
});注意:它已经在、IE8和IE10上进行了测试。
发布于 2021-03-03 03:40:17
这很简单。只管用
window.onbeforeunload = function(){
return '';
};在用户重新加载时提示,以及
window.close = function(){
return '';
};若要在用户关闭页时提示。但是用户必须点击页面一次,或者在页面上做任何事情来检测代码。您不必将任何东西放入return'';,因为JavaScript解释器会忽略它。
发布于 2020-06-07 05:53:02
window.onbeforeunload = function() {
if (data_needs_saving()) {
return "Do you really want to leave our brilliant application?";
} else {
return;
}
};https://stackoverflow.com/questions/19179514
复制相似问题