SUMMARIZE:如何調試Google Analytics跟蹤錯誤(_gaq.push返回'3')
我誤解了內容腳本的用法。這導致了這個問題。下面是來自谷歌的官方文檔報價:
執行環境
內容腳本在一個特殊的環境中執行所謂的孤立 世界。他們可以訪問他們注入的頁面的DOM, ,但而不是可以訪問由該頁面創建的任何JavaScript變量或函數。 它看起來像每個內容腳本一樣,沒有其他JavaScript 正在其上運行的頁面上執行。 反過來也是如此: 頁面上運行的JavaScript不能調用任何函數或訪問由內容腳本定義的任何 變量。
更多細節: Content Script tracking with Google Analytics
-
我加入一些跟蹤代碼到一個Chrome擴展。但是當我測試它時,_gaq.push返回數字3.在我測試的時候,我想如果我在擴展中調用_gaq.push,數字將繼續上升。但是當我在控制檯中調用它時,一切正常(所有相同的代碼)。
我想知道如何才能跟蹤更深入的這個錯誤?
非常感謝每一個答案!
UPDATE:
當我跟蹤_gaq的返回值,它仍是一個數組。這意味着ga.js沒有加載,對吧?
但似乎ga.js從未加載到我的腳本中。除非我在控制檯上手動輸入_gaq,否則它是一個對象。這很奇怪。
我檢查了DOM並發現標記已經添加。
我查看了網絡面板,發現ga.js根本沒有加載到隊列中。但爲什麼我仍然可以使用控制檯訪問_gaq對象?
UPDATE2:
我使用的console.log跟蹤的「window._gaq」的值,發現的console.log(window._gaq)的返回值是不同於直接鍵入「window._gaq」在控制檯。這完全是兩個不同的對象。我甚至使用setInterval函數記錄結果,它保持返回數組,而不是預期的對象。
非常感謝您的解釋。我添加了一個新的跟蹤代碼,發現當我跟蹤_gaq的返回值時,它仍然是一個數組。這意味着ga.js仍然沒有加載。但問題是,除非我使用console.log跟蹤_gaq,否則它永遠不會加載到我的腳本中。這很奇怪。我更新了我的問題。 –
@AwQiruiGuo我更新了我的答案,但你最好更好地解釋你想要調試什麼。只要檢查gif請求,如果他們正在發送,那麼它的工作。 – Eduardo
感謝您的快速回復!我檢查了,任務沒有發送。我終於明白,這可能是Chrome擴展腳本的有效範圍的問題。我從擴展中的內容腳本中定義的對象無法直接從控制檯面板到達。也許這不是一個GA問題,而是一個Chrome問題。你有什麼好的建議嗎? –