Async(非同期読み込み・実行)


2009年11月にアナウンスされた非同期(htmlのレンダリングを停めない)形でga.jsを読み込み、実行させる方式
プロファイルの設定画面で、
ステータスの確認を押すと、

トラッキングコードのページになる。
そこにある 赤丸部分を押すと、説明部分に飛ぶ。たぶん、そのうち、この画面もAync(非同期のコ-ド説明になるかもしれない)


Async(非同期)の利点・特徴

  • 今まで、</body>においていた ga.jsを呼ぶタグは、<head>の中に持って行けるようになった。
    • 設定によっては、問題がある可能性もあるが、 _gaq.push()をhtmlの中に書いても、エラーにはならない。実行は、asyncが読み込まれていれば、gaのオブジェクトとしての実行。そうでなければ、ただの配列のpushになって、オブジェクトとしての実行を待つ。
  • ga.jsの読み込み自体が非同期 
  • 読み込みが終わった瞬間に、設定したタグが実行される。
    • 読み込み前は、_gaqはただの配列。読み込み中に独自オブジェクトになり、pushメソッドを持つ。読み込みの最後に、新しく定義された_gaqを、以前の配列のコンテキストで、pushメソッドを実行する。
  • _gaq.pushの引数は、配列or関数オブジェクトを渡す。
    • 配列の場合。最初の要素が、pageTrackerオブジェクトのメソッドに。それ以降は、そのメソッドの引数になる。
    • 関数オブジェクトの場合。そのまま、無名関数を functionから書いて置いても良い。






Comments