1

私のグループは、以下を head 領域に追加しています。

    <script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'UA-xxx-1']);
        _gaq.push(['_trackPageview']);
        (function () {
            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        })();
    </script>

 </head>

これについて尋ねられたとき、同期的に実行されないので、そこにあっても大丈夫だと言っています。これは正しいですか、それともコードをフッターに移動する必要がありますか?

4

1 に答える 1

0

asynchronouslyスクリプトがロードされていて、asynchronousロードがページのロード プロセスを保持/ハングしないため、パフォーマンスが低下しないため、これは正しいことです。

これは、非同期対に関する回答です。同期的で、より多くのテクニックと例を使用してjavascript をロードすることに関する非常に優れた記事があります。

これはより良いアプローチだと思います(目立たない遅延ロードパターン)

(function() {
    function async_load(){
        // ...
    }
    if (window.attachEvent)
        window.attachEvent('onload', async_load);
    else
        window.addEventListener('load', async_load, false);
})();

しかし、このようにスクリプトを同期的に (クラシック) ロードしている場合

<script type="text/javascript" src="yourScript.js"></script>

ページの読み込みがハングしないように、フッターに配置することをお勧めします。

スクリプトで を使用して同期ロードを許可することもできますasyncが、すべてのブラウザーでサポートされているわけではありません。これについての別の答えがあります。

于 2012-11-11T19:24:49.043 に答える