问答详情
源自:6-10 卸载事件(onunload)

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

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

提问者:flyingjoer 2015-11-27 18:44

个回答

  • 慕男婶
    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做过一个功能,即页面关闭之前,需要把用户在页面上所有的点击收集起来,发送到服务器上。。貌似挺不错的,没遇到什么兼容性问题。。