[Javascript]获取窗口关闭事件

需求:监听用户关闭窗口的事件,然后添加日志统计


方法: 使用 beforeunload


示例:

window.addEventListener("beforeunload", function( event ) {
  event.returnValue = "\o/";}
); 
//is equivalent to
window.addEventListener("beforeunload", function( event ) {
  event.preventDefault();
});


参考:https://developer.mozilla.org/en-US/docs/Mozilla_event_reference/beforeunload


另外,在使用的时候还发现一个webkit对settimeout() 的处理问题:

当用户切换窗口后,会暂停之前窗口进程的settimeout() , 比方说,我在A窗口使用settimeout( ) 5s,当在第4s切换至页面B,此时A页面的settimeout( )会暂停,当再次切换至A页面,A页面继续执行settimeout( ),1s后执行相应操作。


其实也不算是问题,是webkit内核的一种处理策略吧。

所以,如果有用到settimeout( )进行时间判断,可能需要考虑通过自建一个时间进程去统计了。

你可能感兴趣的:(JavaScript,settimeout,beforeunload,关闭窗口事件)