遅延読み込みプレーヤー

2 min read

オーディオプレーヤーはデフォルトで遅延読み込みされます。訪問者がプレーヤーの近くまでスクロールするまで、JavaScriptやCSSは読み込まれません。これにより、ページのLargest Contentful Paint(LCP)を高速に保てます。

遅延読み込みの動作

  • ページ読み込み時、プレーヤーの位置に小さなプレースホルダーが表示されます
  • フルプレーヤー用のJavaScriptとCSSはまだ読み込まれません
  • 訪問者がプレーヤーから500px以内にスクロールすると、フルプレーヤーが読み込まれてプレースホルダーと置き換わります
  • 切り替えは視覚的にスムーズです(通常100ms未満)

Core Web Vitalsへの効果

遅延読み込みなしの場合、プレーヤーのあるすべてのページで初回読み込み時にプレーヤーのJSとCSSのコストが発生します。遅延読み込みを使うと:

  • LCP: 影響なし - プレーヤーはファーストビューのコンテンツに含まれません
  • INP: 影響なし - 読み込み時に重いJSが実行されません
  • CLS: 影響なし - プレースホルダーは最終的なプレーヤーと同じ高さを持ちます

オフにする場合

遅延読み込みはデフォルトでオンです。以下の場合はオフにしてください:

  • プレーヤーが常にファーストビューにある場合(まれ)
  • 自動再生を使用し、プレーヤーを即座に準備したい場合(非常にまれ)
  • デバッグのために遅延読み込みなしでテストしたい場合

オフにする方法

  1. テキスト読み上げ → 詳細設定 に移動します。
  2. 遅延読み込みプレーヤー をオフに切り替えます。
  3. 保存します。

技術的な仕組み

  • プラグインは IntersectionObserver を使用して、プレーヤーがビューにスクロールされたタイミングを検出します
  • 交差時に、必要なJSとCSSを動的に読み込みます
  • 読み込まれたスクリプトは、セッションの残りの間ブラウザにキャッシュされます

IntersectionObserverに対応していない非常に古いブラウザでは、ページ読み込み時にスクリプトを読み込むフォールバックが使用されます。

既知のエッジケース

非表示要素内のプレーヤー

プレーヤーが display: none のセクション(折りたたまれたアコーディオンなど)の中にある場合、セクションが表示されるまで遅延読み込みはトリガーされません。表示されていないものを読み込む必要はないため、通常はこれが望ましい動作です。

オーディオの自動再生

プレーヤーに自動再生を設定して遅延読み込みにした場合、訪問者がスクロールするまで再生されません。自動再生はプレーヤーが読み込まれると同時に開始されます。

関連ページ