1

if i have multiple javascript file on a page, will it always load serially across browser?

<script src='test1.js'></script>
<script src='test2.js'></script>
<script src='test3.js'></script>

for example, if the test*.js would write 1,2 and 3 using console.log, would it always write 1,2,3 on every browser?

if it isn't, is there a way to make it synchronous/serially?

4

2 に答える 2

2

私は実際に次のブラウザであなたの例をテストし、それぞれがシリアルにロードされました:

  • ファイアフォックス
  • IE 7-9
  • クロム
  • オペラ
  • サファリ

理由の詳細については、この包括的な回答をお読みください。

于 2013-02-25T09:17:24.670 に答える
1

たとえば、test * .jsがconsole.logを使用して1、2、および3を書き込む場合、すべてのブラウザーで常に1、2、3を書き込みますか?

はい、そうです。

ブラウザはスクリプトを並行してロードできますが、常に順番に実行されます。例外は、タグにasyncordefer属性が設定されている場合です。script(JSを介して)動的に作成されたスクリプトも、本質的に非同期です。

ページに配置するスクリプトが多すぎると、レンダリングが遅くなる可能性があることに注意してください。サーバーがファイルの1つを提供するのに時間がかかりすぎる場合、scriptスクリプトがロードされて実行されるまで、以下のマークアップはレンダリングされません。すべてのJSファイルを本番環境用に1つに縮小し、正当な理由でより多くのスクリプトタグを使用することをお勧めします(たとえば、CDNでホストされるライブラリを使用する)。

于 2013-02-25T09:12:21.360 に答える