我的 Web 应用程序遇到了一个奇怪的问题。
有一个 onBeforeUnload 事件的侦听器,我在其中提示用户确认他是否真的要离开页面。
它工作正常,符合预期。但我面临一个间歇性问题。有时,onBeforeUnload 事件会同时触发多次(大约 100 次)。所以我得到了尽可能多的“确认导航”弹出窗口。我不确定为什么会触发这么多事件。
我与用户确认他们没有按刷新或返回按钮。我添加了一些日志记录并确认了相同的内容。
它在 Firefox 和 IE 中运行良好。只有在 chrome 中,我面临这个问题。用户每天至少报告一次此问题,并且他们正在重新启动浏览器以再次使用该应用程序。
我的问题是为什么会触发多个事件。什么样的行为会导致这种情况发生?
注意:我的页面有一些 iframe。但是他们都没有 onBeforeUnload 的监听器。
编辑:
我正在使用 javascript 添加事件,如下所示。
window.onbeforeunload = function() {
return "some message here";
}