如何在离开页面时控制浏览器确认对话框?

我知道有很多关于这方面的问题,但没有什么能正确回答我。 我想在用户离开页面时显示确认对话框。 如果用户按下取消,他将保持在页面上,如果确定,他所做的更改将通过调用方法回滚。 我这样做了:

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后弹出这个弹出窗口。

有没有办法不显示这个对话框? (第二个,我没有创建)。 或者如果有任何方法可以控制这个弹出窗口,有人知道怎么做吗? 谢谢

这就是我所做的,修改以满足您的需求:

 // 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 }); 

注意:它经过测试可在Google Chrome,IE8和IE10中使用。