以下の内容はhttps://maitakeramen.hatenablog.com/entry/2021/01/16/215253より取得しました。


【javascript】beforeunloadイベントでページ更新と遷移を判別することはできない。

タイトルの通りです。
beforeunloadイベントでページ更新と遷移を判別することはできません。
よって、離脱とページ更新(リロード)で、確認メッセージを出し分けることもできません。
何故なら、ユーザーの遷移先はプライベートな情報だからです。

例えば、下記のようにbeforeunloadイベント発生時のイベントオブジェクトを出力してみても、次の遷移先の情報は含まれません。

window.addEventListener('beforeunload', (event) => {
  console.log(event);
  event.returnValue = '';
});

自分で確かめたい方は、
上記を適当なページ、例えばこのページで、開発者ツールを開き、コンソールで上記コードを実行した後、
別ページに遷移しようとしたときに出た時のダイアログのキャンセルをクリックし、コンソールに出力されたeventオブジェクトの中身を確認してみてください。
遷移先に関する情報は何もないはずです。




以上の内容はhttps://maitakeramen.hatenablog.com/entry/2021/01/16/215253より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14