• 締切済み

ブラウザの「戻る」を禁止したい

たとえば、A.htmlというページから、B.htmlへとリンクを張っていて、 A.htmlからB.htmlへ同じウィンドウで移動した場合は、ブラウザの戻るを押せば、A.htmlをまた表示できますが、これをできなくする、ことはできませんでしょうか。

みんなの回答

  • novaakira
  • ベストアンサー率36% (60/164)
回答No.4

こんなのはどーでしょう。 A.html内に、 <a href="b.html" onclick="javascript:location.replace(this.href); event.returnValue=false; event.cancelBubble=true;"> としてみては?

  • ahsblue
  • ベストアンサー率58% (23/39)
回答No.3

同じことにチャレンジしたことがあるのですが「できない」と思います。 というのも、JavaScriptでIEのオブジェクト操作ができてしまうとハッカーやらクラッカーの格好の的になっちゃいます。。 ということで代替案を考えた方がよろしいかと思います。 CGIに渡す場合でもMETHODをGETにできれば「GOTTi」「rittan」さんにおっしゃっている方法が利用できます。 ただし大量データを渡す必要やセキュリティが心配ということであれば、GET方式は推奨しかねますが・・ 他にはウィンドウの「戻る」ボタンを非表示にするという方法もあります。 この方法は簡単で良いのですが「BackSpace」キーで戻るという抜け穴が・・ 参考情報ということで!

  • rittan
  • ベストアンサー率36% (38/103)
回答No.2

A.html内のB.htmlへのリンク部分を <A HREF="javascript:window.location.replace('B.html')">ページBへ</A> としてはどうでしょうか?

  • GOTTi
  • ベストアンサー率25% (2/8)
回答No.1

「戻る」操作自体を禁止することは、おそらく不可能です。 ただし、次のような方法によって、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> ~~~リンクの部分~~~

saru_monmon
質問者

補足

ありがとうございます。 ただ、今回の場合は、<form>の<input type>を使って、CGIにデータを渡し、 HTML文書を返す、というパターンです。 CGIから返ってきたHTMLドキュメントが表示されるブラウザで戻るボタンを押すと、CGIにデータを渡すHTMLのページに戻ります。 これを禁止できないでしょうか?

関連するQ&A

専門家に質問してみよう