实施“此页面要求您确认要离开”

时间:2011-07-23 15:45:53

标签: javascript

当我想要离开某些页面时,这是一个警告,Firefox会引发。根据我看到的页面,当我在填写表单后尝试关闭页面时出现此警告,我只能假设它正在动态页面上工作。使用哪种技术来实现此功能?我怎样才能在一个简单的hello-world页面上自己实现它?

2 个答案:

答案 0 :(得分:13)

您基本上为beforeunload事件实现了一个处理程序。这允许您警告用户他们有未保存的数据。

伪代码:

  window.onbeforeunload = function warnUsers()
  {
    if (needToConfirm)
    {
      // check to see if any changes to the data entry fields have been made
      if(changesPresent)
            return message to display
      }
      else {
      // no changes - return nothing      
      }
    }
  }

这是一篇非常好的文章,深入讨论了这一点:http://www.4guysfromrolla.com/webtech/100604-1.shtml

注意:还有onunload事件,但在页面已卸载后触发,因此采取任何可靠的操作为时已晚。您永远不应在onunload中放置任何关键代码,因为从未保证执行该代码。

答案 1 :(得分:1)

嗯,你需要尝试添加一些其他的东西,比如表格。但简单的事情是:

编辑:修正了HTML;

<html>
<head>

<script language="javascript">
function mymessage()
{
alert("This message was triggered from the onunload event");
}
</script>
</head>

<body onbeforeunload="mymessage()">

<p>close this window and watch the warning box come up!</p>
</body>

</html>