0

なぜグーグルはこのようなga.jsコードを初期化するためのより簡単で短い方法を提供しないのか疑問に思いました:

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-Y']);
  _gaq.push(['_trackPageview']);
</script>
<script src="//google-analytics.com/ga.js" async="true" type="text/javascript"></script>

元々の解決策は、プロトコルのjavascriptチェックを利用したり、非同期フラグを設定したりすることです。

私のソリューションに欠点はありますか?

4

1 に答える 1

0

クライアントのブラウザがasync属性をサポートしていない可能性があります。スクリプトタグを動的に作成することによるGoogleのコードは、とにかくスクリプトを非同期的にロードします。コードが非同期でロードされない場合、ユーザーは悪い経験をする可能性があります。ユーザーの国でGoogleが政府によってブロックされており、ユーザーがをサポートしていないブラウザを使用していると想像してくださいasync。これが発生した場合、ユーザーのページはhttp://google-analytics.com/ga.jsタイムアウトになるまでブロックされます。これにはしばらく時間がかかる場合があります...

このトピックの詳細については、次のことをお勧めします。

  1. http://www.phpied.com/non-onload-blocking-async-js/
  2. http://www.amazon.com/gp/product/B008CQA8BA/
于 2013-02-19T10:16:41.763 に答える