我在我的web应用程序中遇到了一个奇怪的问题。多个onbeforeunload事件
有一个onBeforeUnload事件的监听器,我在提示用户确认他是否真的要离开页面。
它工作正常,如预期。但我正面临一个间歇性问题。有时,onBeforeUnload事件会同时触发多次(大约100次)。所以我获得了许多“确认导航”弹出窗口。我不确定为什么这些事件会被触发。
我向用户确认他们没有按刷新或返回按钮。我添加了一些日志记录并确认相同。
它在Firefox和IE中正常工作。只有在铬,我正面临这个问题。 用户每天至少报告一次此问题,他们正在重新启动浏览器以再次使用该应用。
我的问题是为什么多个事件触发。什么样的行为会导致这种情况发生?
注意:我的页面有一些iframe。但他们都没有onBeforeUnload的监听器。
编辑:
我使用JavaScript添加事件如下。
window.onbeforeunload = function() {
return "some message here";
}
你是如何对事件添加监听一次? – Serjio
可能会在页面上的每个窗口对象(也用于iframe)之前预先加载事件触发器。尝试通过记录'location.href'值 – Serjio