1

Three.jsをいじっています。次の方法でのみ機能することを発見しました。

<script src="script.js" defer="defer"></script>

しかし、なぜこのdefer="defer"がそれほど重要なのかわかりません...

手伝って頂けますか?

宜しくお願いします Tobi P.

4

1 に答える 1

2

これにより、ブラウザーはスクリプトの解析を延期します (必ずしもロードを遅らせるわけではありません)。

通常、ブラウザーがスクリプト タグに遭遇すると、スクリプトがダウンロード、フェッチ、解析 (その後、ほとんどのブラウザーでコンパイル)、および実行されるまで、HTML の以降の処理を一時停止します。これは、JavaScript が document.write() を介して html を挿入できるようにするために必要です。

ただし、これは多くの場合、ユーザーが空白の画面を長時間見たままになることを意味します。

defer タグを使用すると、HTML が完全に読み込まれるまで、スクリプトは解析/コンパイルされません。defer 属性を持つスクリプト タグが複数ある場合、それらが解析される順序は維持されます。

これはすべて、インターネット上で広く文書化されています。w3c ページは、開始するのに適した場所です (ただし、少し簡潔になる可能性があります)。

于 2013-09-03T08:27:00.280 に答える