ブラウザの戻るボタンを禁止したい

本当はそんなことしたくない。

なお、あくまで戻るボタンを封じるだけなので履歴を使うと戻れる。

環境

HTML5に対応したブラウザ

やり方

ページロードイベント中に以下のコードを追加。

history.pushState(null, null);
$(window).on('popstate', function(e) {
    history.pushState(null, null);
    alert('ブラウザの戻るボタンは使用できません');
});

説明

ポイントは戻るたびにpushStateで余分な履歴を一つ追加すること。これによって本来一つ前だった戻り先が押し出されて二つ前になるため、戻るボタンでは戻れなくなる。