4

これがどのように機能するかを理解しようとしています:

_gaq = _gaq || [];

_gaq.push(['trackEvent', 'something', 'bleee']);

わかりました。データを魔法の配列にプッシュしています。しかし、Google のスクリプトは、私がこれを行ったことをどのように認識していますか? この配列をポーリングしている (可能性は低い) か、ユーザーがページから離れたときに何かを実行する必要があります。

ページから離れて移動するときにリクエストを行うと、通常、リクエストが完了する前に接続が閉じられることがわかりました。

誰かがこの魔法の仕組みを説明してくれませんか?

4

2 に答える 2

5

.push()Google はカスタムメソッドを使用して独自のオブジェクトを作成しました。したがって、「配列」に何かをプッシュすると、追跡ピクセルとワラーを作成するコード (関数) がさらにアクティブになります。

Google がこれを行ったのは_gaq、GA スニペットが評価される前に配列の push メソッドを使用しようとすると、Google に送信するコマンドのキューを (標準の配列で) 作成するだけだからです。GA スニペットがすでに評価されている場合は、.pushメソッドを置き換えるために Google が作成したカスタム関数を実際に実行しています。

Analytics が完全に読み込まれる前に、配列を _gaq の代わりに使用できるように、この関数は push と呼ばれます。Analytics の読み込み中、コマンドはアレイにプッシュ/キューに入れられます。Analytics が読み込みを完了すると、配列が _gaq オブジェクトに置き換えられ、キューに入れられたすべてのコマンドが実行されます。_gaq.push への後続の呼び出しは、この関数に解決され、コマンドがプッシュされると実行されます。

*出典: https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApi_gaq#_gaq.push *

于 2012-08-27T17:31:42.603 に答える
0

配列 _gaq は、ライブラリのロード時に Google アナリティクス js ライブラリによって読み取られます。_gaq は、ライブラリが正常にロードされたときに呼び出されるメソッド (およびそのパラメーター) のリストにすぎません。別の Web 分析システムである Piwik も、同じアプローチを使用しています。

于 2012-08-27T17:40:57.237 に答える