如何将 onbeforeunload 用于后退按钮但防止表单提交和内部页面重定向

how to use onbeforeunload for back button but prevent on form submits and internal page redirects

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

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

谁能帮忙解决一下?最好只 javascript,而不是 jQuery。谢谢

提交表单时设置一个变量。测试 beforeunload 处理程序中是否存在该变量,如果已设置,则只设置 return 值。