- 締切済み
ブラウザの「戻る」を禁止したい
たとえば、A.htmlというページから、B.htmlへとリンクを張っていて、 A.htmlからB.htmlへ同じウィンドウで移動した場合は、ブラウザの戻るを押せば、A.htmlをまた表示できますが、これをできなくする、ことはできませんでしょうか。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- novaakira
- ベストアンサー率36% (60/164)
こんなのはどーでしょう。 A.html内に、 <a href="b.html" onclick="javascript:location.replace(this.href); event.returnValue=false; event.cancelBubble=true;"> としてみては?
- ahsblue
- ベストアンサー率58% (23/39)
同じことにチャレンジしたことがあるのですが「できない」と思います。 というのも、JavaScriptでIEのオブジェクト操作ができてしまうとハッカーやらクラッカーの格好の的になっちゃいます。。 ということで代替案を考えた方がよろしいかと思います。 CGIに渡す場合でもMETHODをGETにできれば「GOTTi」「rittan」さんにおっしゃっている方法が利用できます。 ただし大量データを渡す必要やセキュリティが心配ということであれば、GET方式は推奨しかねますが・・ 他にはウィンドウの「戻る」ボタンを非表示にするという方法もあります。 この方法は簡単で良いのですが「BackSpace」キーで戻るという抜け穴が・・ 参考情報ということで!
- rittan
- ベストアンサー率36% (38/103)
A.html内のB.htmlへのリンク部分を <A HREF="javascript:window.location.replace('B.html')">ページBへ</A> としてはどうでしょうか?
- GOTTi
- ベストアンサー率25% (2/8)
「戻る」操作自体を禁止することは、おそらく不可能です。 ただし、次のような方法によって、A.html から B.html に移動した際に、「履歴」が残らず、B.html から「戻る」の操作を行うと、A.html には戻らなくなります。 具体的には、A.html から B.html への移動をただのリンクではなく、JavaScript で行います。 ~~~スクリプトの部分~~~ <script language="JavaScript"> function DoReplace( strURL ){ window.location.replace( strURL ); } </script> ~~~スクリプトの部分~~~ ~~~リンクの部分~~~ <a href="#" onClick="javascript:DoReplace('B.html')">Bへ移動</a> ~~~リンクの部分~~~
補足
ありがとうございます。 ただ、今回の場合は、<form>の<input type>を使って、CGIにデータを渡し、 HTML文書を返す、というパターンです。 CGIから返ってきたHTMLドキュメントが表示されるブラウザで戻るボタンを押すと、CGIにデータを渡すHTMLのページに戻ります。 これを禁止できないでしょうか?