2012-01-16 73 views
0
<input type="button" value="Start Timer" onclick="timeTracker._recordStartTime();"/> 
<input type="button" value="Stop Timer" onclick="timeTracker._recordEndTime();"/> 
<input type="button" value="Track!" onclick="timeTracker._track(pageTracker, Category, 'Manual Test');"/> 

這是一個內部事件跟蹤代碼(使用上的點擊動作),我想實現類似這樣的東西, 的「timeTracker._recordStartTime()啓動頁面打開時(加載) 然後在用戶離開頁面(通常導航到另一頁面)時調用「timeTracker._recordEndTime()」和「timeTracker._track(pageTracker,category,'Manual Test')。頁面瀏覽量作爲事件谷歌分析

我的目標是記錄在頁面上花費的時間作爲事件,並將其放入與其他事件(如點擊JavaScript事件)類別中。

我該怎麼做?

+0

問題是? – f2lollpll 2012-01-16 17:31:33

回答

1

您可以使用window.performance.timing對象來計算頁面上的時間。 https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html#processing-model

首先,你應該一個onunload事件處理程序綁定到你的身體,如:

<body onunload="trackPageTime(event);"> 
... 
</body> 

然後,實現你的函數來計算時間差並推至_gaq對象。

<script type="text/javascript"> 
function trackPageTime(e){ 
    var onPageSeconds = ((new Date()).getTime() - window.performance.timing.domInteractive)/1000; 
    var gaps = [1,2,3,4,5,10,20,30,60,120,300,600]; 
    for(var i=0;onPageSeconds>gaps[i] && i<gaps.length;i++); 
    _gaq.push(['_trackEvent', 'Time on Page', (document.location.pathname+document.location.search).toString(), gaps[i].toString()]); 
} 
</script> 

您可以使用「時間」對象的不同屬性來計算頁時間,如responseEnd(有些人可能會說這是更正確),不過,我發現, domInteractive屬性會給我更近似的結果。

相關問題