1

次のコードを使用して、ナビゲーション メニュー リンクに Google アナリティクス トラッキング イベントを追加しています。

(function ($) {
    "use strict";
    $(function () {
        $("body").on('click', '.menu-item a', function () {
            var trackingCode = $(this).next(".ga-tracking");
            if (trackingCode.length > 0) {
                var t1 = trackingCode.data("tracking-1"),
                    t2 = trackingCode.data("tracking-2"),
                    t3 = trackingCode.data("tracking-3"),
                    t4 = trackingCode.data("tracking-4"),
                    params = "'" + t1 + "','" + t2 + "','" + t3 + "'";
                _gaq.push([params]);
            }

        });
    });
}(jQuery));

http://paulwp.com/blog/で動作を確認できます。 コードをトリガーするには、上部の黒いバーにあるブログ リンクをクリックします。

これは私が得るエラーです:

_gaq.push processing "'_trackEvent','Store_Outbound','Link_Click'" for args: "[]":  

Called method "'_trackEvent','Store_Outbound','Link_Click'" threw exception.TypeError: Cannot call method 'apply' of undefined 

一方、次のようなものを提供する必要があります。

_gaq.push processing "_trackEvent" for args: "[Store_Outbound,Link_Click]":  

問題を引き起こしている変数を使用してパラメーターを作成する方法だと思います

4

1 に答える 1

2

間違った値を渡しています。これは効果的にあなたがしていることです:

_gaq.push(["a,b,c"]);

それは単一の要素を持つ配列です。

これは次のようになります。

_gaq.push(["a","b","c"]);

これは、複数の要素を持つ配列です。

だから基本的にあなたがする必要があります

params = [t1,t2,t3];
_gaq.push(params);

または、それらを直接入れてください:

_gaq.push([t1,t2,t3]);
于 2013-02-08T16:53:58.077 に答える