ブラウザの戻るボタンを追跡したい。ユーザーがブラウザーの [戻る] ボタンをクリックすると、ポップアップ確認ボックスでユーザーにログアウトを求める必要があります。ユーザーが「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のデモを見る