実現したいこと
タブを開いている状態でsafariやクロームを閉じたときや、PCの場合だと別のタブに移動して一定の時間がたった後にページに戻ってきた際に、「再送信しますか」というダイアログを表示させたい。
ex) ホームズの賃貸掲載サイトでは、物件の詳細ページのままsafariやクロームを閉じてから一定の時間が経った後に戻ってくると「再送信しますか」というダイアログが表示されています。それをイメージしております。
できていること
下記のコードでは、ポスト前のページで戻るを押した時に再送信しますかというアラートを表示させてます。
これを少し応用したら、実現したい事ができるのではないかと考えられるのですが、どうしてもホームズのようにできなくて困っています。
考えられる方法としては、一定時間操作を行っていなければタブに戻ってきた時にダイアログを表示させればいいのではないかと考えたのですが、一方で別タブやsafari、クロームを閉じた状態だとそのような検知処理が走らないのではと思い、どうしたらよいか分からずにいます。
何かご教示いただけると幸いです。
js
1var onBeforeunloadHandler = function(e) { 2 e.returnValue = '再送信しますか'; 3}; 4$(window).on('beforeunload', onBeforeunloadHandler); 5 6$('form').on('submit', function(e) { 7 $(window).off('beforeunload', onBeforeunloadHandler); 8});
回答1件
あなたの回答
tips
プレビュー