【问题标题】:'Leave this page' message display twice on IE10“离开此页面”消息在 IE10 上显示两次
【发布时间】:2016-09-22 22:13:19
【问题描述】:

我有这行代码使用 onbeforeunload 要求用户在关闭页面之前保存他们的数据。该代码在 Firefox 和 Chrome 中运行良好。

window.onbeforeunload = function () {
    if (isUpdated) return "You have unsaved data";
    else return undefined;
};

在 IE (10) 中,当我选择“离开此页面”时,一切正常。但是当我选择“留在这个页面上”时,弹出窗口关闭然后再次显示,然后我不得不再点击一次“留在这个页面上”,我觉得这很烦人。

有人有解决办法吗?

【问题讨论】:

标签: javascript jquery html internet-explorer


【解决方案1】:

onbeforeunload 事件处理程序添加到window.href 而不是window

window.href.onbeforeunload = function () {
    if (isUpdated) {
        return "You have unsaved data";
    } else {
        return undefined;
    }
};

【讨论】:

  • 无法设置未定义或空引用的属性“onbeforeunload”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-12
  • 1970-01-01
  • 2012-01-31
  • 1970-01-01
  • 2017-03-13
  • 2016-03-21
  • 1970-01-01
相关资源
最近更新 更多