【问题标题】:How do I disable the "Leave page" confirmation dialog in Firefox?如何禁用 Firefox 中的“离开页面”确认对话框?
【发布时间】:2022-01-19 18:27:26
【问题描述】:

我的Vue 应用程序中有以下代码,用于检测用户何时关闭选项卡:

onBeforeUnload() {
  window.onbeforeunload = null;
  return undefined;
}

禁用“离开页面”确认对话框在 Chrome 中有效,但在 Firefox 中无效。这是为什么?如何禁用 Firefox 上的确认对话框?

编辑 1: 添加和删除 beforeunload 监听器

created() {
    window.addEventListener('beforeunload', this.onBeforeUnload);
},
beforeDestroy() {
    window.removeEventListener('beforeunload', this.onBeforeUnload);
}

【问题讨论】:

  • 某些东西可能是用window.addEventListener() 添加确认,而不是分配给window.onbeforeunload。除非您知道所添加函数的名称,否则无法删除它。
  • 你可以通过给它分配一个空函数来覆盖它
  • @Barmar 我在我的帖子中添加了一个编辑,其中包含addEventListener 用于我的Vue 应用程序。
  • 我认为应该可以。
  • @Barmar 它适用于 Chrome,但不适用于 Firefox。

标签: javascript vue.js firefox onbeforeunload confirm


【解决方案1】:

将我的 onBeforeUnload 方法更改为此解决了问题:

onBeforeUnload(e) {
  window.onbeforeunload = () => {};
  delete e.returnValue;
}

【讨论】:

    猜你喜欢
    • 2021-08-18
    • 1970-01-01
    • 2021-09-26
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    • 2012-03-14
    相关资源
    最近更新 更多