Javascript onUnload方法的问题

pri*_*kar 1 javascript

我要求当用户点击浏览器的[X]按钮时,我应该给他们一条消息.

我使用JavaScript的onUnload方法完成了这项任务.

现在,即使我刷新页面,也会出现相同的消息!

为什么会这样,如何克服?

代码在这里

<!DOCTYPE HTML PUBLIC" - // W3C // DTD HTML 4.0 Transitional // EN"> <HTML> <HEAD> <script language ="javascript">

功能消息()

{alert("你想离开吗?"); }

</ script> </ HEAD>

<BODY onUnload ="Message();"> </ BODY> </ HTML>

请帮忙

Vot*_*ple 6

这是正确的行为:刷新页面涉及卸载它然后再次加载它.

处理此类确认对话框的最佳方法是使用以下代码:

<script language="javascript" type="text/javascript">
window.onbeforeunload = function() {
    return "You have unsaved changes.";
}
</script>
Run Code Online (Sandbox Code Playgroud)

如果您在尚未保存或发送邮件时尝试关闭页面,则可以在GMail上看到这种机制.尝试刷新页面时仍会触发,因此确保只有在未保存的工作时才返回错误字符串非常重要.

请记住,无法保证onUnloadonBeforeUnload事件会触发,因为无法保证您的访问者甚至可以启用JavaScript,因此除了对未保存的工作的友好提醒之外,您不应该使用它.

  • +1"您有未保存的更改"是卸载确认的唯一正当理由.那些纠缠于"请留意看这个可爱的网站"的网站留下信息是对网络的犯罪,制作它们的设计师将受到国际网络司法法院的起诉和严厉惩罚. (9认同)
  • 为网络总统做好准备!:) (2认同)