如何在刷新时触发 beforeunload 警告但在提交时不触发

How can I trigger beforeunload warning when refreshing but not when submitting

第 1 页包含动态表单,第 2 页是对提交数据的审核。我有以下限制条件:

我尝试使用 window.onbeforeunload$(window).unload()(在第 1 页),但我似乎无法获得预期的结果。

这甚至可能吗,或者这些约束是否绝对矛盾(我的意思是,对于合理数量的 JS 行……)?

更新:

我删除了约束 3,因为根据一些阅读,它值得 its own question

您应该能够在第 1 部分和第 2 部分使用类似的东西,但不确定您对第 3 部分的意思

"use strict";
var isSubmit = false
document.querySelector('button').addEventListener('click', e => {
  isSubmit = true
  window.location.reload()
})

window.onbeforeunload = e => {
  if (!isSubmit) {
    return "Are you sure you want to leave?"
  }
}
<button>Submit</button>