You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome浏览器中onbeforeunload自定义消息不生效问题求助

解决Chrome中onbeforeunload自定义消息失效的问题

嘿,这个问题我之前也踩过坑!其实不是你的代码写错了,而是Chrome从版本51开始就彻底禁用了onbeforeunload的自定义提示消息——不管你返回什么字符串,浏览器都会直接显示它自己的默认提示内容,这是浏览器为了统一用户体验、防止恶意网站滥用自定义提示而做的政策调整。

你原来的代码写法:

<script> 
function dontgo(){ 
  return "are you sure you want to leave the site" 
} 
</script>

在旧版浏览器里可能有效,但现在Chrome完全忽略这个返回的字符串。

想要正确触发页面离开提示(只能用浏览器默认消息),正确的写法应该是这样:

window.addEventListener('beforeunload', function(event) {
  // 必须调用preventDefault来触发提示
  event.preventDefault();
  // 虽然自定义消息不显示,但部分浏览器需要设置returnValue才能唤起提示
  event.returnValue = '';
  // 这里返回任何字符串都不会被Chrome显示
});

补充说明:不止Chrome,现在Firefox、Edge等主流现代浏览器都遵循这个规则,所以你没办法再自定义离开页面的提示文案了,只能接受浏览器自带的默认提示。

内容的提问来源于stack exchange,提问作者user9800158

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:16:10