实现“此页面要求您确认是否要离开”

新手上路,请多包涵

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

原文由 Vlad Vivdovitch 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 479
2 个回答

您基本上为 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 注意: 此链接不再存在。这是 Wayback Machine 的副本: https ://web.archive.org/web/20211020134123/http://www.4guysfromrolla.com/webtech/100604-1.shtml

注意: 还有 onunload 事件,但在页面卸载 触发,因此为时已晚,无法采取任何可靠的措施。你不应该在 onunload 中放置任何 关键 代码,因为永远不会保证执行。

原文由 Mrchief 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

编辑:修复 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>

原文由 Igoris Azanovas 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题