ブラウザの戻るボタンを追跡したい。ユーザーがブラウザーの [戻る] ボタンをクリックすると、ポップアップ確認ボックスでユーザーにログアウトを求める必要があります。ユーザーが「OK」を押すと、ユーザー アカウントはログアウトする必要があります。ユーザーが「キャンセル」を押した場合、ユーザーは同じページにとどまる必要があります。私はすでに訪れました:
- ブラウザの戻るボタンを確認するか、ページにとどまる
- OnBeforeUnload ダイアログをオーバーライドして、独自のものに置き換えるにはどうすればよいですか?
- 「保存されていないデータ」保護のためのクライアント/JS フレームワーク?
- ブラウザの戻るボタンを押したときにユーザーに警告する - 正当な理由がある
しかし、私の問題に対する前向きな解決策は得られていません。私はすでにこのコードを試しました
window.onbeforeunload = function(evt) {
if(confirm('logout ?'))
{
return;
}
else
{
alert('Dont use browser navigations');
return false;
}
}
If
部分は完全に機能しています。ただしelse
、警告ボックスの後、ブラウザはデフォルトのダイアログボックスを表示します。return true
一部の代わりreturn
に使用するif
と、ブラウザーは確認ボックスをポップアップ表示し、その後にデフォルトのダイアログボックスを表示します。を使用するreturn
と、確認ボックスが表示され、アクションが続行されます。
そのため、一部で return false を使用しているのと同じ方法ですelse
。キャンセルアクションを確認した後、アラートボックスが表示されますreturn false
。else
次に、ブラウザのデフォルトのダイアログボックスは、ページを離れるか、このページにとどまるかを尋ねています.
return false
条件を false にする代わりに、別の解決策を使用したいと考えています。ユーザーが確認ボックスのキャンセル ボタンをクリックしても、何も実行されません。同じページにとどまる必要があります。JSFIDDLEのデモを見る