<!DOCTYPE html>
<html>
<script>
window.onbeforeunload=function(){return "test";}
</script>
</html>
这段代码在火狐浏览器的反应是: 用鼠标点击浏览器的刷新图标时不会执行。而按F5进行刷新时,每隔一次才会弹出窗口,也就是每按两次F5会弹出一次窗口。关闭页面的话也是需要按了两次F5后,再关闭才会弹出窗口。为什么会这样? 当然除了火狐,其他浏览器都是正常运行的。
<!DOCTYPE html>
<html>
<script>
window.onbeforeunload=function(){return "test";}
</script>
</html>
这段代码在火狐浏览器的反应是: 用鼠标点击浏览器的刷新图标时不会执行。而按F5进行刷新时,每隔一次才会弹出窗口,也就是每按两次F5会弹出一次窗口。关闭页面的话也是需要按了两次F5后,再关闭才会弹出窗口。为什么会这样? 当然除了火狐,其他浏览器都是正常运行的。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
因为火狐就是设定成这样的啊,我觉得这样会有更好的体验。再说 beforeunload 已经开始被遗弃了,已经有浏览器不再支持它了,或是用户可以在浏览器设置开启或不开启此功能的支持。可以用 Page Visibility API 稍微代替它(其实我只是想提下Page Visibility API)。