首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何控制离开页面的浏览器确认对话框?

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

Stack Overflow用户
提问于 2013-10-04 10:56:06
回答 3查看 43.7K关注 0票数 12

我知道关于这件事有很多问题,但没有什么是对的。当用户离开页面时,我想显示一个确认对话框。如果用户按下“取消”,他将停留在页面上,如果确定,他所做的更改将通过调用方法进行回滚。我做过这样的事:

代码语言:javascript
运行
复制
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之后,我就会弹出这个对话框。

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-04 11:30:10

下面是我所做的,修改以满足您的需要:

代码语言:javascript
运行
复制
// 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上进行了测试。

票数 14
EN

Stack Overflow用户

发布于 2021-03-03 03:40:17

这很简单。只管用

代码语言:javascript
运行
复制
window.onbeforeunload = function(){
  return '';
};

在用户重新加载时提示,以及

代码语言:javascript
运行
复制
window.close = function(){
 return '';
};

若要在用户关闭页时提示。但是用户必须点击页面一次,或者在页面上做任何事情来检测代码。您不必将任何东西放入return'';,因为JavaScript解释器会忽略它。

票数 3
EN

Stack Overflow用户

发布于 2020-06-07 05:53:02

代码语言:javascript
运行
复制
 window.onbeforeunload = function() {
       if (data_needs_saving()) {
           return "Do you really want to leave our brilliant application?";
       } else {
          return;
       }
    };
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19179514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档