0

友人のスクリプトを調べていたところ、彼は Google アナリティクス トラッキング コードを使用していました。

var _gaq = [
        ['_setAccount', 'UA-XXXXXXXX-X'],
        ['_trackPageview']
    ];
    (function(d, t) {
        var g = d.createElement(t),
            s = d.getElementsByTagName(t)[0];
        g.src = ('https:' == location.protocol ? '//ssl' : '//www') + '.google-analytics.com/ga.js';
        s.parentNode.insertBefore(g, s)
    }(document, 'script'));

このように(または同様の方法で):

var SOMEOBJECT = {
    _gaq : [],
    account_code : "",

    ...

    init : function() {
        ...
    }

    ...

    _gaq.push(SOMEOBJECT.account_code);

    ...
}

同じトラッキング コードを別の方法で作成するための追加のコード (他の多くのページやさまざまなもので再利用する必要があるため)。

これは、スコープ変数_gaqがコンソールに存在しないように見えたため、Analytics がデータを受信しなかったためです。では、何がうまくいかないのでしょうか?これ以上コードがなくて申し訳ありませんが、これは私が覚えているものであり、なぜ機能しないのか非常に興味がありました (:

4

1 に答える 1

1

コードの最初の部分は良さそうです... 通常の Google アナリティクスの非同期コードをリファクタリングしただけです。

コードの2番目の部分についてはよくわかりません...通常_gaqは、次のように初期化されたグローバルオブジェクトです

var _gaq = _gaq || [];

まだ初期化されていない場合、グローバル_gaqを配列として初期化します。Google Analytics コードが読み込まれると、配列はコマンドを実行するメソッドを含むオブジェクトに置き換えられます。push

_gaq Global Objectpushメソッドのドキュメントをご覧ください。

于 2012-09-11T15:10:42.803 に答える