Javascript 如何使用onbeforeunload返回按钮但防止表单提交和内部页面重定向

Javascript 如何使用onbeforeunload返回按钮但防止表单提交和内部页面重定向,javascript,window.onunload,Javascript,Window.onunload,如果按下后退按钮,我试图向用户显示警告对话框。下面的工作正常,除了我只希望这发生在后退按钮或重新加载。不在表单上提交在整个应用程序中发生的重定向 window.addEventListener("beforeunload", function (e) { e.returnValue = 'warning'; } 有人能帮忙解决吗?最好是只使用javascript,而不是jQuery。谢谢在提交表单时设置一个变量。在beforeunload处理程序中测试该变量是否存在,并仅在已设置返回

如果按下后退按钮,我试图向用户显示警告对话框。下面的工作正常,除了我只希望这发生在后退按钮或重新加载。不在表单上提交在整个应用程序中发生的重定向

window.addEventListener("beforeunload", function (e) {
     e.returnValue = 'warning';
}

有人能帮忙解决吗?最好是只使用javascript,而不是jQuery。谢谢

在提交表单时设置一个变量。在
beforeunload
处理程序中测试该变量是否存在,并仅在已设置返回值的情况下设置返回值。

为表单上的
submit
事件添加一个事件侦听器,并在提交表单时设置一个指示该事件的标志。在卸载回调之前,检查
回调中的该标志,仅当表单尚未提交时才执行逻辑。