2012-04-06 67 views
1
<script type="text/javascript"> 
    leaveSiteStart = new Date; 
    function leftSite() { 
     var leaveSiteEnd = (new Date - leaveSiteStart); 
     var roundleaveSiteEnd = Math.round(leaveSiteEnd, 1); 
     _gaq.push(['pageTrackerTime._trackEvent', 'Category', 'Action', document.getElementById('Name').value]); 
    } 
    window.onbeforeunload = leftSite; 
</script> 

我已經使用此代碼來攻擊用戶在關閉瀏覽器之前在頁面上花費的時間或者退出時離開頁面的時間。通過瀏覽器關閉/註銷時的JavaScript代碼

但它未能捕捉到事件...任何代碼錯誤?

+1

在您發送請求時,頁面消失,請求被取消。嘗試查看調試器的網絡選項卡,您應該在該請求中看到「取消」狀態。如果是這樣,那就是原因。 – Joseph 2012-04-06 11:52:58

回答

0

在現代瀏覽器中捕捉用戶​​離開基本上是不可能的。當FF4出來時,他們打破了使用定時while循環暫停退出的方式。

0

因爲_gaq是異步調用瀏覽器不會等待,直到調用完成,所以嘗試做一些同步調用。

jquery ajax您可以通過將異步標誌設置爲false來檢查是否有相同的方式來執行同步任務。