首页 >web前端 >js教程 >如何实现'离开页面”?旧版浏览器中是否出现确认提示?

如何实现'离开页面”?旧版浏览器中是否出现确认提示?

Barbara Streisand
Barbara Streisand原创
2024-12-12 21:09:10795浏览

How to Implement a

如何显示“您确定要离开此页面吗?”在旧版浏览器中提示未保存的更改

简介

在网页上进行文本编辑或其他更改并尝试离开页面时,浏览器可以显示确认信息提示要求用户确认他们的导航。此功能对于防止用户意外丢失未保存的更改非常有用。

启用提示

在旧版浏览器(IE6-8、Firefox 之前的版本)中启用此导航确认提示到版本 4),为 window.onbeforeunload 属性分配一个函数参考:

window.onbeforeunload = function(e) {
  // For IE6-8 and Firefox prior to version 4
  if (e) {
    e.returnValue = "Are you sure you want to leave?";
  }

  // For Chrome, Safari, IE8+ and Opera 12+
  return "Are you sure you want to leave?";
};

禁用提示

要禁用导航确认提示,请从 window.onbeforeunload 中删除函数引用:

window.onbeforeunload = null;

检查是否未保存更改

无论页面上是否有未保存的更改,都会触发用户的确认。要检查未保存的更改,您可以利用您首选的验证框架或自定义解决方案。

例如,使用 jQuery,您可以将更改事件绑定到表单字段,以在字段包含非-空值:

$('input').change(function() {
  if($(this).val() != "") {
    window.onbeforeunload = "Are you sure you want to leave?";
  }
});

注意:

在现代浏览器中,显示自定义导航确认消息被认为是一种安全隐患,已被删除。浏览器现在仅显示通用消息。要在现代浏览器中启用或禁用导航提示,只需将 window.onbeforeunload 设置或删除为不带返回值的函数引用即可。

以上是如何实现'离开页面”?旧版浏览器中是否出现确认提示?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn