如何才能让所有的浏览器都响应onunload呢?还有貌似目前各大浏览器都不支持这个事件

来源:6-10 卸载事件(onunload)

flyingjoer

2015-11-27 18:44

如何才能让所有的浏览器都响应onunload呢?还有貌似目前各大浏览器都不支持这个事件

写回答 关注

1回答

  • 慕男婶
    2015-11-27 19:23:40
    已采纳

    试试这个:onbeforeunload。。

    但是在这个事件发生时,浏览器会忽略alert。。

    你可以做个实验:

    window.onbeforeunload = function(){
    
          // 在浏览器关闭之前,有一个循环10万次的循环阻塞了js线程
          // 导致你点击 “X” 之后,浏览器才关闭,因为它光顾着执行这个循环了,没有时间执行关闭
          for(var i = 0; i < 100000; i++){
             
             // 你可以在控制台里看到每个i
             console.log(i);
             
          }
    
    }

    我曾经使用过onbeforeunload做过一个功能,即页面关闭之前,需要把用户在页面上所有的点击收集起来,发送到服务器上。。貌似挺不错的,没遇到什么兼容性问题。。



    Werk_B...

    哇谢谢

    2016-06-21 15:30:40

    共 2 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题