2010-05-01 120 views
1

我已經實現了一個XMLHttpRequest()調用一個獨立的HTML頁面,它只是一個HTML標題&身體標記谷歌Analytics(分析)跟蹤代碼。XMLHttpRequest()和谷歌分析跟蹤

我想跟蹤有人發出請求以顯示信息(例如電話號碼),試圖瞭解人們看我的目錄的哪部分與獲取撥打電話的電話號碼。

這是非常簡單的代碼:

var xhReq = new XMLHttpRequest(); 
xhReq.open("GET", "/registerPhoneClick.htm?id=" + id, false); 
xhReq.send(null); 
var serverResponse = xhReq.responseText 

然而,我無法看到「打」在分析......有沒有人有這個問題?所有追蹤代碼執行分析是呼叫:

<script type="text/javascript"> 
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); 
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 
</script> 
<script type="text/javascript"> 
try { 
var pageTracker = _gat._getTracker("UA-XXXXXXX"); 
pageTracker._trackPageview(); 
} catch(err) {}</script> 

那麼現實,我的XMLHttpRequest()調用一個HTM文件在其中一個腳本執行,使谷歌分析外撥呼叫。

XmlHTTPRequest()不會執行此操作嗎?

在執行之前,XmlHTTPRequest()仍然會將代碼帶到客戶端嗎?

幫助請

回答

3

對於那些有類似問題的人來說,明顯的分析不會跟蹤XMLHttpRequest(),所以爲了解決它,我發現這個帖子:Tracking API: Basic Configuration,它解釋瞭如何簡單地使用javascript登錄pageview。

我只是下面的代碼添加到我的javascrip:

var pageTracker = _gat._getTracker("UA-XXXXX-XXX"); 
pageTracker._trackPageview("/home/landingPage"); 

更清潔,更方便,比我最初嘗試做簡單的...

3

請求的文件並不意味着它會自動執行。您只需將文件的內容作爲字符串取回。

對於要執行的代碼,它必須作爲頁面加載到瀏覽器中。例如,您可以使用iframe加載它。

+0

所以你說XMLHttpRequest的不執行代碼? – sjw 2010-05-01 04:12:40

+0

@sjw:的確如此。此外,如果會,請求代碼不起作用。您只能在頁面加載時使用document.write,否則它會替換當前頁面。 – Guffa 2010-05-01 04:20:09