JavaScript でブラウザのバック(戻る)ボタンを無効に・・・

フォーム入力などのページで、ブラウザのバックボタンを使って戻られると都合が宜しくない、というときってありますよね。
ショッピングカート等のように情報の再取得が必要というのではなく、予防策程度に利用できる簡単なものをと探していると、JavaScript での処理ですが、

<script type="text/javascript">
history.forward();
</script>

をHTMLヘッダ部にでも置いておけば、対処できるといった記事を幾つか見かけました。
これでバックボタンを使っても現在のページに戻るように動くようです。

しかし・・・
Internet Explorer 8 では問題なかったのですが Firefox 3.6 で確認してみると、残念ながら前ページに戻ってしまいました。

何か無いかと試行錯誤を繰り返していると、unload を使うと何とかなるそうなので、

<script type="text/javascript">
window.onunload = function(){};
history.forward();
</script>

としたところ、Firefox 3.6 でも有効になってくれました。

unload を使うとキャッシュしない、といった動作との兼ね合いもあるようなので、どこでも使えると言うわけではないでしょうけど、とりあえずカンタンに対処するには、ということで・・・

一応動作確認したブラウザ:Internet Explorer 8, Firefox 3.6, Opera 10.6, Chrome
動作のあやしいブラウザ:Safari 4

この記事へのコメント


この記事へのトラックバック