簡體   English   中英

“_gaq未定義”IE7和IE8中的Google Analytics錯誤

[英]"_gaq is undefined” Google Analytics Error in IE7 and IE8

我在IE7和IE8中發現_gaq是未定義的錯誤

我的劇本吼叫

<script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-XXXXX']);
    _gaq.push(['_setDomainName', 'yyy.com']);
    _gaq.push(['_trackPageview']); 
    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js?';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
</script>

我可以為_gaq指定默認值嗎? 請參閱此鏈接

根據您對我的評論的回復,這個問題的答案是

谷歌分析幾年前采用了一種新的,更現代的方式處理事件,允許瀏覽器加載完整的頁面而無需等待GA服務器的響應。 在過去,您被引導將google提供的<script>片段放在頁面末尾(就在關閉正文標記之前),現在您應該在HTML的<head>部分的某處包含標記。

新腳本的工作原理是將javascript變量_gaq定義為數組,將其視為隊列。 您要跟蹤的網頁瀏覽量,事件和其他內容會被推送到陣列上,這實際上是即時的。 有時間時,GA代碼將檢查數組中的內容並將其彈出,將請求處理到GA服務器,直到數組為空。

_gaq變量的副作用是腳本標記在引用之前必須在HTML中,否則您將得到JS錯誤_gaq is undefined

例如, 如Google Analytics事件跟蹤指南中所述,您可能想知道用戶何時在您的網站上播放視頻,如下所示:

<a href="#" onClick="_gaq.push(['_trackEvent', 'Videos', 'Play', 'Baby\'s First Birthday']);">Play</a>

注意這里對變量_gaq的引用。 如果尚未定義,您將收到錯誤。

簡短回答:將異步javascript片段放在HTML的<head>中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM