domcontentloaded より前

DOMコンテンツの読み込み前: JavaScriptの document.getElementById('page-title'); titleElement.textContent = 'DOMContentLoadedでタイトルを変更しました'; }); </script>

3. loadイベント: すべてのリソースの読み込み完了の合図

load イベントは、ページのすべてのリソース(画像、スタイルシート、JavaScriptファイルなど)が完全に読み込まれたときに発生します。

window.addEventListener('load', ...) を使用してこのイベントをリッスンし、すべてのリソースの読み込みが完了した後に、画像の読み込み完了後の処理や、すべてのリソースに依存するロジックの実行などのJavaScriptコードを実行します。

<script>
    window.addEventListener('load', function() {
        // すべてのリソースの読み込みが完了したら実行されるコード
        console.log('loadイベントが発生しました!');
        
        // 画像の読み込み完了後の処理
        const imageElement = document.getElementById('my-image');
        imageElement.addEventListener('load', function() {
            // 画像の読み込みが完了した後の処理
        });
    });
    </script>
    

4. DOMContentLoaded vs. load: どちらを使用すべきか?

JavaScriptコードがDOM要素を操作したり、外部リソースに依存しないロジックを実行したりする必要がある場合は、コードをできるだけ早く実行してページの読み込み速度を向上させるために、DOMContentLoaded イベントを使用する必要があります。

JavaScriptコードが画像、スタイルシートなどの外部リソースに依存する場合は、すべてのリソースが読み込まれた後にコードが確実に実行されるように、load イベントを使用する必要があります。

イベント 発生タイミング ユースケース
DOMContentLoaded DOMツリー構築完了時 DOM操作、外部リソースに依存しないロジックの実行
load すべてのリソースの読み込み完了時 画像の読み込み完了後の処理、すべてのリソースに依存するロジックの実行

5. DOMContentLoadedの前にJavaScriptコードを実行する

ページのDOMが完全に構築される前にJavaScriptコードを実行する方法について理解しておくと、ページのパフォーマンスやユーザー体験を改善するための最適なアプローチを選択できます。

例えば、ページのレンダリングに影響を与えない軽量なスクリプトや、初期のユーザーインタラクションのためのスクリプトをDOMContentLoaded イベントを待たずに実行することが可能です。ただし、DOM要素の操作や、外部リソースに依存する処理を行う場合は、DOMContentLoaded イベントをリッスンすることが推奨されます。

このように、DOMContentLoadedload イベントを適切に使い分けることで、ページのパフォーマンスとユーザー体験を向上させることができます。適切なイベントリスナーを選択し、効果的なJavaScriptの実行タイミングを確保しましょう。