需求:监听用户关闭窗口的事件,然后添加日志统计
方法: 使用 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( )进行时间判断,可能需要考虑通过自建一个时间进程去统计了。