beforeunload
イベントは、ポップアップ広告を含め、ウェブページがユーザーによって閉じられるのを妨げる目的で乱用されることがしばしばあります。Firefox は、ユーザーがページ上でクリック、タッチ、スクロール、文字入力といった何らかのインタラクションを起こさない限り、beforeunload
イベントハンドラーの戻り値を無視し、確認ダイアログを表示せずにページ遷移を強制するようになりました。
また、すべての beforeunload
ダイアログを初期設定で不許可とする計画もあるため、ウェブ開発者にはページ遷移を確認するためにこの種類のイベントを使用するのを避けるよう推奨します。ウェブページやアプリは、Web Storage API や IndexedDB API でローカルに、あるいは Ajax テクニックを使ってリモートにドラフト状態を保存することで、データ消失を防ぎつつユーザー体験を向上させることが可能です。
更新: このドキュメントの初期草稿は誤解を招く内容でした。ユーザーがページ上でインタラクションを起こしていない場合でも beforeunload
イベント自体が発動されることに変わりはありません。