260415_speculation_rules

Speculation Rules API デモ

ICS MEDIA の記事「クリックの前からロード済み ── Speculation Rules で『待ち時間ゼロ』のページ遷移を作る」で使用するデモです。

デモ一覧

デモ 内容 URL
01 記事一覧 — Speculation Rules の ON / OFF を切り替えて、プリレンダリングの効果を DevTools で確認できます デモを開く
02 カードグリッド — Speculation Rules と View Transitions API の併用例。SR の有無による遷移体験の違いを比較できます デモを開く
03 EC 商品一覧→商品詳細 — Ray-Ban の事例を踏襲。デスクトップはホバーで moderate、モバイルは先頭4商品を immediate でプリレンダリング。画像の多い PDP で体感差が出ます デモを開く

ローカルでの確認方法

Speculation Rules API はファイルプロトコル(file://)では動作しません。ローカルサーバーを起動してください。

# Python(ポート 8000)
python3 -m http.server

# Node.js(ポート 3000)
npx serve

起動後、http://localhost:<ポート>/01/ にアクセスすると確認できます。

npx serve 用の設定(serve.json)をリポジトリに含めています。cleanUrls: false により .html リダイレクトを抑止し、Speculation Rules のプリレンダリングが正常に動作するようにしています。

DevTools の Application → Speculative loads パネルを開いた状態でリンクにホバーすると、プリレンダリングの発生を確認できます。

ディレクトリ構成

├── 01/
│   ├── index.html     … 記事一覧(SR トグル付き)
│   ├── 1.html〜4.html  … 記事詳細
│   └── style.css
├── 02/
│   ├── index.html     … カードグリッド(SR トグル + View Transitions)
│   ├── 1.html〜6.html  … 記事詳細
│   └── style.css
├── 03/
│   ├── index.html     … 商品一覧 PLP(SR トグル + デバイス別 eagerness)
│   ├── 1.html〜6.html  … 商品詳細 PDP(画像多数 + Google Fonts)
│   └── style.css
└── README.md

技術要素

動作環境

Chrome 121 以降(Speculation Rules のドキュメントルール対応)

ライセンス

ICS INC.