何が速いですか?
<script src="../js/SOME.js" type="text/javascript"></script>
また
$.getScript('../js/SOME.js', function (){ ...
// with $.ajaxSetup({ cache: true });
それらは同じです。しかし、これはあなたが考慮に入れるべき事実です:
getScriptを使用するには、最初にjQueryをロードする必要があるので、その時間を追加します(これは、を使用しているためだと思います$
)。
jQueryはそれを非同期的にロードします。つまり、ブラウザーはSOME.jsをロードするために他のすべてを停止しません。
ブラウザがネイティブに実行するので、これは高速だと思い<script src="../js/SOME.js" type="text/javascript"></script>
ますが、2番目の方法では、最初にブラウザにページをロードさせ、次にJavaScriptを使用してスクリプトをロードします。
ブラウザはそれ自体でキャッシュを処理するかもしれませんが、私はあまり確信がありません。
前者は、$。getScriptが初期化されるjqueryに依存しているためです。
どちらもダウンロードにほぼ同じ時間がかかります。違いは、インラインスクリプトはページ上の残りのすべての要素とともに読み込まれるため、帯域幅を競う必要があることです。
スクリプトの挿入は、ページが読み込まれた後、およびjQueryが読み込まれた後に行われます。残りのページ要素はこの時点でダウンロードされる可能性が高いため、「高速」に見えますが、「後で」使用できるようになります。
最も速いのは、次のようなスクリプトを使用してスクリプトを同期的にロードすることです。
<script id="your-script-id" type="text/javascript">
(function() {
var your-script-id = document.createElement('script');
your-script-id.type = 'text/javascript';
your-script-id.src = ('http://your-script-location.js');
var s = document.getElementById('your-script-id');
s.parentNode.insertBefore(your-script-id, s);
})();
</script>