###実現したいこと
今回実装したい機能は、よく他サイトで使用されている【離脱防止ダイアログ】の、警告表示部分を
ダイアログボックス+文章のみではなく、HTMLが有効な小Window(モーダルウィンドウ)でバナー画像を表示したいと考えております。
この機能の実行タイミングは
・ブラウザの戻る、閉じる、進む、更新ボタンを押したとき
・URL欄の直接編集後のEnter
・表示されたブラウザ内のAタグのリンク押下
の時に検知されて、モーダルウィンドウで開く小画面上にバナーを表示したいです。
###今まで出来た事
戻るボタンのみとなりますが、押下検知+モーダルWindowの表示までは
こちらのjsで実装できました。=①
参考にしたサイト
http://dotnsf.blog.jp/archives/1012215593.html
javascript
1$(function(){ 2 if( window.history && window.history.pushState ){ 3 history.pushState( "nohb", null, "" ); 4 $(window).on( "popstate", function(event){ 5 if( !event.originalEvent.state ){ 6 // バナー表示処理 7 } 8 }); 9 } 10});
###出来ないこと
上記の内容で、「戻るボタン押下」での検知・動作は出来ましたが
その他の離脱条件である
・進むボタン、更新ボタン、閉じるボタン
・URL欄の直接編集後のEnter
・表示されたブラウザ内のAタグのリンク押下
の検知が出来ず、モーダルWindowが表示出来ません。
その他各種サイトを調べた結果、
beforeunloadイベントが最も近かったのですが、
どうしても通常のダイアログBOXが表示されて、
かつ、その選択肢が「いいえ」だった時のみ
モーダルWindowが表示される形になってしまいます。
その時のサンプルが以下です。=②
javascript
1$(document).ready(function(){ 2 $(window).on("beforeunload", function (e) { 3 // バナー表示処理 4 return false; 5 }); 6});
###今回質問したいこと
・①の状態で、検知範囲を広げる方法
又は
・②の状態で、デフォルトのダイアログを出さない
かつ、その後に表示するモーダルWindowを表示させる
ということは可能かどうか。可能だとした場合、どうすればよいか。
お知恵を借りたく、質問をさせて頂きます。
よろしくお願い申し上げます。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/24 08:48