コンテンツを更新した際にちらつきが発生するのを抑えたい
Repro Boosterはページをキャッシュして高速に配信するため、サイトのコンテンツを更新した際に、キャッシュされた古いコンテンツと新しいコンテンツの間で一時的に差異が発生することがあります。高速遷移した後に、このような差異によってページがちらついて見える場合があります。
このような問題を軽減するために、以下の対策方法をご利用いただけます。
方法1: 初期表示時に差異が発生する要素を非表示にする
コンテンツの差異が発生しやすい要素を、初期表示時の間だけ非表示にすることができます。お客様のサーバーから最新のコンテンツを取得した後、自動的に表示されるようになります。
管理画面からの設定
Repro Booster管理画面の「ローディング中に非表示にする要素を指定するCSSセレクタ」の項目で、対象要素のCSSセレクタを指定することで、初期表示時に非表示とすることができます。
管理画面には以下の2つの設定項目があります:
- ローディング中に非表示にする要素を指定するCSSセレクタ(visibility: hidden) - 要素の高さを確保したまま非表示にします
- ローディング中に非表示にする要素を指定するCSSセレクタ(display: none) - 要素を完全に非表示にします(高さも確保されません)
例:
.news-banner- ニュースバナー要素#promotion-area- プロモーションエリア.dynamic-content- 動的に更新されるコンテンツ.news-banner, #promotion-area- 複数の要素を指定する場合は,で区切ります.content .news-banner- セレクタをつなげると階層構造を指定できます(.content 内の .news-banner)
HTMLクラスによる指定
HTMLマークアップ上で直接指定することも可能です。対象の要素に以下のいずれかのクラスを付与してください:
注意: この方法を利用する場合、HTMLにクラスを追加した後、Repro Booster側でページがキャッシュされると初期表示の間は非表示となります。即時に効果が反映されるわけではありません。
repro-booster-hidden- 要素を初期表示の間は非表示にしますが、高さは確保されます(レイアウトシフトを防止)repro-booster-display-none- 要素を初期表示の間は完全に非表示にします(高さも確保されません)
<!-- 高さを確保して非表示 -->
<div class="repro-booster-hidden news-section">
<!-- コンテンツ -->
</div>
<!-- 完全に非表示 -->
<div class="repro-booster-display-none promotion-banner">
<!-- コンテンツ -->
</div>
使い分けのポイント
repro-booster-hidden(高さを確保): ページのレイアウトを維持したい場合に適しています。コンテンツ読み込み時のレイアウトシフトを防ぎます。repro-booster-display-none(高さを確保しない): 非表示時に高さを取らない方が自然な場合に適しています。
方法2: 自動キャッシュパージ機能(試験導入中)を利用する
自動キャッシュパージ機能は、コンテンツの更新を自動的に検知し、キャッシュを適切に更新する機能です。この機能により、ちらつきの根本原因となるキャッシュと実際のコンテンツの差異を最小限に抑えることができます。
この機能は現在試験導入中のため、ご利用をご検討の際は担当サポート担当までお問い合わせください。
注意事項
- 非表示にする要素が多すぎると、初期表示時にページが空白のように見える可能性があります。重要なコンテンツエリアは非表示にしないことをお勧めします。
- 自動キャッシュパージ機能については、お客様のサイト構成によって効果が異なる場合があります。詳細は担当サポート担当までご相談ください。