0

私は古い Google Analytics コードを使用し、pageTracker 関数が添付された多数のリンクを使用して、各クリックもカウントできるようにしました。最新の GA にアップグレードしたので、pageTracker は動作しなくなりました。すべてのリンクを調べてすべての pageTracker onclicks を削除したくはありませんが、それらを無効にしてエラーが発生しないようにする方法を見つけたいだけです。

var pageTracker = ""; を試しました および var pageTracker = null; それでも未定義のエラーが発生します。リンクはこんな感じ。

<p><a href="/gotowebsite/" onclick="javascript: pageTracker._trackPageview('/GoToTheWebsiteLink');">Go to the website</a><br />

これは JSFiddle にあります。IE でリンクをクリックすると、次のページが読み込まれるまでの短い時間、JS エラーが表示されます。 http://jsfiddle.net/Fvp9F/

4

3 に答える 3

0

このような偽のオブジェクトを追加してみてくださいpageTracker(もちろん、以前に定義されていない場合にのみ追加することをお勧めします)

if (!pageTracker) { /* if pageTracker is not defined */
    var pageTracker = {
        "_trackPageview" : function() {

        }            
    }
}

フィドルの例: http://jsfiddle.net/Fvp9F/6/

于 2012-05-24T15:30:42.407 に答える
0

あなたは本当に近くにいました。それを空白のオブジェクトに変えるだけです:

var pageTracker = {_trackPageview: function(){}};
于 2012-05-24T15:31:04.270 に答える
0

偽の/空白の pageTracker オブジェクトを追加するよりも、_gat グローバルから pageTracker を取得でき、古いトラッキング コードが機能するはずです。

pageTracker = _gat._getTrackerByName();

問題の 1 つは、非同期トラッキング コードが読み込まれたに必ずトラッカーを取得する必要があることです。_gaq.push()また、関数オブジェクトも使用できます。非同期トラッキング コードに次を追加すると、機能するはずです。

_gaq.push(function() { pageTracker = _gat._getTracker(); });
于 2012-05-24T18:36:49.247 に答える