1

何が速いですか?

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

また

   $.getScript('../js/SOME.js', function (){ ... 
   // with $.ajaxSetup({ cache: true }); 
4

5 に答える 5

3

それらは同じです。しかし、これはあなたが考慮に入れるべき事実です:

  • getScriptを使用するには、最初にjQueryをロードする必要があるので、その時間を追加します(これは、を使用しているためだと思います$)。

  • jQueryはそれを非同期的にロードします。つまり、ブラウザーはSOME.jsをロードするために他のすべてを停止しません。

于 2011-03-10T16:44:37.103 に答える
3

ブラウザがネイティブに実行するので、これは高速だと思い<script src="../js/SOME.js" type="text/javascript"></script>ますが、2番目の方法では、最初にブラウザにページをロードさせ、次にJavaScriptを使用してスクリプトをロードします。

ブラウザはそれ自体でキャッシュを処理するかもしれませんが、私はあまり確信がありません。

于 2011-03-10T16:44:56.283 に答える
1

前者は、$。getScriptが初期化されるjqueryに依存しているためです。

于 2011-03-10T16:44:08.593 に答える
1

どちらもダウンロードにほぼ同じ時間がかかります。違いは、インラインスクリプトはページ上の残りのすべての要素とともに読み込まれるため、帯域幅を競う必要があることです。

スクリプトの挿入は、ページが読み込まれた後、およびjQueryが読み込まれた後に行われます。残りのページ要素はこの時点でダウンロードされる可能性が高いため、「高速」に見えますが、「後で」使用できるようになります。

于 2011-03-10T16:46:21.000 に答える
0

最も速いのは、次のようなスクリプトを使用してスクリプトを同期的にロードすることです。

<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>
于 2011-03-10T16:47:21.543 に答える