JavaScriptのloadとDOMContentLoadedイベントの違い
- 作成
- 更新
- (1504日前)
- 公開範囲
- personal notes
load
- Webページ
内の すべての ソースが 完全に ロードされた タイミングで 発火する - HTML だけでなく、
画像・CSS・スクリプト・iframe など、 ページに 紐づく リソースが すべて 読み込み終わった 時点 - 画像が
重い・ 外部 リソースが 多い ほど、 発火が 遅くなる
- HTML だけでなく、
window にload イベントリスナーを
window.addEventListener('load', () => {
console.log('すべてのリソースの読み込みが完了した');
});
DOMContentLoaded
- WebブラウザがHTMLを
読み込み・ 解析し終えた タイミングで 発火する - あくまで
「HTMLが どのような 構造に なっているか」が 解析された 状態 - 画像や
スタイルシートの 読み込み完了は 待たない - DOM が
操作可能に なった 時点で 発火する ため、 loadより早く 発火する
- あくまで
document にDOMContentLoaded イベントリスナーを
document.addEventListener('DOMContentLoaded', () => {
console.log('HTMLの解析が完了し、DOMが利用可能になった');
});