2025 年 3 月の Chrome 135 から段階適用し、2026 年 10 月に全ページ読み込みへ到達した。既定では unload ハンドラは走らず、Chromium の既定にも間もなく入る。iOS の Chrome は WebKit のため、引き続き発火しうる。

unload はモバイルでバックグラウンド終了時に走らないことが多く、bfcache とも両立しにくい。利用はナビゲーションの 18% から 4% 未満へ減り、単独の bfcache 阻害は 6% から約 1% になった。即時の戻る/進むが使えるナビゲーションが約 5 ポイント増えた。潜在的な bfcache ナビゲーションで複数要因の一つだった割合は 22% から約 3% になった。

代替は visibilitychange と pagehide。アプリとユーザーデータの保存は hidden を最後の信頼できる時点とする。離脱の検知は pagehide。pagehide 後に bfcache から復元されることがあるので、片付けた資源は復元時に戻す。beforeunload はキャンセル可能な警告向けで、条件付きの最小限に留める。

Permissions Policy で unload をオプトインできる(Chrome 117 以降)。挙動は以前と同じで、モバイルでの信頼性は上がらない。管理下端末は ForcePermissionPolicyUnloadDefaultEnabled で全オリジンの既定を有効のままにできる。ページ側でより厳しいポリシーは設定できる。オプトアウトの撤去予定はない。

#参考文献