作成日:2018-04-17, 更新日:2018-04-17
基本
「beforeunload」というイベントを使う。
以前は、表示させるメッセージを指定できたけど、現状はできないっぽい。
※変なコトをするヤツらのせいで・・・(ブラウザにもよるかもしれないが)メッセージは変更不可(2018/04/17時点)。
出来ればブラウザの「戻る」ボタンを押したときのイベントを拾ってゴニョゴニョしたい。
でも、出来ないんだか・・・かなり面倒なんだか・・・とりあえず任意のタイミングで「ページを離れる(ページ遷移)」するときにワンクッション置く感じにする。
サンプル
「ページを離れる」でメッセージ表示(条件なし)
$(window).on('beforeunload',function(){ return true; });
「入力があった or 特定の条件を満たす」+「ページを離れる」でメッセージ表示
var isConfirm = false; $(window).on('beforeunload',function(){ if ( isConfirm ) { return true; } }); // 何かのタイミングなり、条件で値を変更させる isConfirm = true;