document.readyイベントとwindow.loadイベントの違いを知っています。今、私のウェブサイトのパフォーマンスを改善するために、私はjavascriptのロードを延期することを計画しています。遅延読み込みコンテンツの例を数多く見てきました。
- 挿入
<script src="...">
し<link rel="stylesheet" href="...">
てdocument.readyに - 注入
<script src="...">
し<link rel="stylesheet" href="...">
てwindow.loadに - document.readyが起動され
<script src="...">
てから<link rel="stylesheet" href="...">
数秒後に挿入します - window.loadが起動されてから数秒後に注入
<script src="...">
します<link rel="stylesheet" href="...">
私の最初の質問は、これらの方法のどれが好ましいかということです。
私の2番目の質問は、アプローチ#1を使用したときに正確に何が起こるかを知りたいということです。私のドキュメントにこのコンテンツがHTMLソースで定義されている場合:
<!-- head -->
<link>
<script>
<!-- body -->
そしてdocument.readyにこれらの追加のタグを挿入します:
<!-- head -->
<link>
<script>
<link class="lazyload">
<script class="lazyload">
<!-- body -->
<img><img><img><img><img>
私はブラウザが正確に何をするのか疑問に思っています:
- document.readyイベントはいつ正確に発生しますか
- どのような順序でファイルをダウンロードしますか
- 挿入されたファイルをダウンロードしようとしている間、ページをブロックしますか?