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

Vla*_*tch 11 javascript

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

Mrc*_*ief 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      
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

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

注意:还有onunload事件,但是在页面卸载会触发,因此采取任何可靠的操作都为时已晚.你永远不应该放任何关键代码,onunload因为从来没有保证执行.

  • 这是FF中的一个有意识的功能,旨在防止恶意软件网站覆盖正常消息,其中某些内容可能会使用户感到困惑并让他们点击错误的按钮将其捕获到网站上 (7认同)
  • "返回信息显示"对我不起作用,我总是得到"这个页面要求你确认你要离开"的消息,不管是什么.这可以改变这个消息吗? (2认同)