SW · Safari · Chromium · 2026

2026 リモート Mac:
SW 更新・Safari 差異・灰度戻し対照

2026.04.15 PWA 検収 約 8 分

PWA 担当向け。Safari と Chromium で SW 境界がずれるときの対照・三歩・実機手順です。リリース票へ BUILD_ID を必ず貼り、検証ログと突合できるようにします。slug:2026-service-worker-safari-release-checklist-remote-mac.htmlworker とキャッシュデプロイ後 SafariInspector FAQ

差異表 · 公開前 · 実機 · FAQ · CV

01 典型のつまずき

1 即時 skipWaiting で別版キャッシュ。2 clients.claim 過剰適用。3 接頭辞固定で Safari に旧 precache。

対策:デプロイごとに 版キー+キャッシュ名 を回し、灰度は ルート/サブドメイン で新旧を分離。

02 差異対照表(Safari/WebKit と Chromium)

差分は キャッシュキーとライフサイクル で固定。Application とコンソール併用。

観点 Safari/WebKit Chromium
更新 更新間隔が保守的。手動リロードやサイトデータ削除に寄りがち。 Update on reload で検証しやすい。
Cache ITP/プライベートで分岐。一覧が素直でないことがある。 ストレージタブで削除・再計測が速い。
claim 通常/プライベート二窓で未登録クライアント影響を切る。 SW パネルでクライアント追跡が容易。
灰度戻し unregister+手順を Runbook 化し実機で演習。 同手順。実タブで claim 後を確認。

skipWaiting は全タブ即時更新が許容のときのみ自動化。clients.claim は初回から fetch 介入が要るとき限定。接頭辞は sw-v-{BUILD_ID}-。戻しは 静的配信を先に戻す → unregister。

灰度はパス前缀やステージングサブドメインで新 SW のみ当て、本番切替は CDN とオリジンの設定をセットで記録します。異常検知後はトラフィック戻しを最優先にし、クライアント側の登録解除はその次です。

03 公開前検証

三歩:(1)票に BUILD_ID・キャッシュ規則・skipWaiting/claim 方針。(2)冷/温の両方。(3)灰度 URL で新 SW、異常時は静的差し戻し→unregister を演習。

  1. precache と実ハッシュ一致をビルド成果物で確認。
  2. navigation preload の対象とオフ経路を表記。
  3. fetch 戦略をパス単位で列挙し例外 URL を残す。
  4. API と静的のキャッシュ衝突なし。
  5. セッション画面は即時 skipWaiting 禁止、UI 更新に。
  6. オフライン画面の文言とルーティングが新 SW と矛盾しないか確認。

04 リモート実機検証フロー

リモート Mac で Safari と Chromium を同居。HAR/trace で証跡。サイトデータ削除と unregister を Runbook 化。

  • curl -I sw.js で Cache-Control。
  • Safari で waiting 条件をスクショ固定。
  • Chromium で Update on reload、claim の A/B。

05 FAQ

Q skipWaiting 内部ツールや単一画面のみ即時可。決済や長文編集がある BtoC はユーザー操作か灰度完了後に限定。

Q claim 初回から横取りが要るときだけ。影響するパスを README に列挙しレビューで固定。

Q Safari だけ古い ITP/プライベート/サイトデータ削除タイミングの差。接頭辞ローテとファイル名ハッシュで版を目視一致させる。

06 コンバージョン

内链は既存の articles/../../ の公開ページのみ。CTA は実機検証と整合。ブログ一覧トップ

Safari 実機で SW 検収

リモート Mac で WebKit と Chromium を同居。料金ヘルプ購入トップ(公開)。

SW 検収用リモート Mac を選ぶ