onbeforeunload在火狐有时候会不执行?

<!DOCTYPE html>
<html>
<script>
window.onbeforeunload=function(){return "test";}
</script>
</html>

这段代码在火狐浏览器的反应是: 用鼠标点击浏览器的刷新图标时不会执行。而按F5进行刷新时,每隔一次才会弹出窗口,也就是每按两次F5会弹出一次窗口。关闭页面的话也是需要按了两次F5后,再关闭才会弹出窗口。为什么会这样? 当然除了火狐,其他浏览器都是正常运行的。

阅读 3.7k
1 个回答

因为火狐就是设定成这样的啊,我觉得这样会有更好的体验。再说 beforeunload 已经开始被遗弃了,已经有浏览器不再支持它了,或是用户可以在浏览器设置开启或不开启此功能的支持。可以用 Page Visibility API 稍微代替它(其实我只是想提下Page Visibility API)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题