猿问

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

<!DOCTYPE html>

<html>

<script>

window.onbeforeunload=function(){return "test";}

</script>

</html>

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

米琪卡哇伊
浏览 772回答 1
1回答

肥皂起泡泡

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

相关分类

JavaScript
我要回答