如何在适当的时候显示onbeforeunload对话框?

时间:2010-04-18 19:59:01

标签: javascript onbeforeunload

我的网页上有一个javascript编辑器,我想询问用户是否想要离开页面,即使有未保存的更改。

我知道我可以通过这种方式向“onbeforeunload”对话框添加自定义消息:

window.onbeforeunload = function() {
  return 'You have unsaved changes!';
}

Source)但我想只在确实存在一些未保存的更改的情况下显示对话框。怎么做?

谢谢!

1 个答案:

答案 0 :(得分:8)

您可以这样做:

var unsavedChanges = false;
window.onbeforeunload = function() {
  if (unsavedChanges) return 'You have unsaved changes!';
}

function makeSomeChange() {
  // do some changes....
  unsavedChanges = true;
}

您可以确保更改“更改”事件处理程序中的unsavedChanges