DOMContentLoaded
2571 ワード
DOMオブジェクトが完了すると、実行されるイベントを表します.ブラウザがscriptに遭遇すると、DOMオブジェクトの作成が停止し、scriptの実行が完了した後にオーサリングに連絡し直します.
ブラウザがすべてのHTMLを読み取り、DOMツリーを完了するとすぐに発生します.画像ファイルやスタイルシートなどの他のリソースを待たない
DOMContentLoadのスクリプトをブロックしない
上記のルールには2つの例外があります. ・ 外部スタイルシートはDOMに影響しないため、
しかし、例外があります.スクリプトがスタイルシートのタグをロードした後に続く場合、スタイルシートをロードする前にスクリプトは実行されません.
ブラウザがすべてのHTMLを読み取り、DOMツリーを完了するとすぐに発生します.画像ファイルやスタイルシートなどの他のリソースを待たない
DOMContentLoadのスクリプトをブロックしない
上記のルールには2つの例外があります.
<img>
属性付きスクリプトはブロックされないasync
DOMContentLoadedプロパティ勉強するasync
Webページに動的に生成して追加するスクリプトはブロックされませんdocument.createElement('script')
DOMContentLoaded
外部スタイルシートのロードを待たない.しかし、例外があります.スクリプトがスタイルシートのタグをロードした後に続く場合、スタイルシートをロードする前にスクリプトは実行されません.
<link type="text/css" rel="stylesheet" href="style.css">
<script>
// 이 스크립트는 위 스타일시트가 로드될 때까지 실행되지 않습니다.
alert(getComputedStyle(document.body).marginTop);
</script>
この例外は、スクリプトでスタイルの影響を受ける要素のpropertyが使用される可能性があるためです.上記の例では、スクリプトは要素の座標情報を使用します.座標情報は、スタイルをロード、適用した後にのみ決定され、自然に生成されます.DOMContentLoaded
スクリプトのロード待ち.上記の場合、もちろんスタイルシートも待ちます.Reference
この問題について(DOMContentLoaded), 我々は、より多くの情報をここで見つけました https://velog.io/@hqillz/DOMContentLoadedテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol