ブラウザの「戻る」を無効にすることは可能?
[上に]
[前に]
[次に]
M.Takii
[E-Mail]
1999/08/13(金) 20:14:16
はじめまして、いつもお世話になっています。
かなり初歩的な質問かなと思うのですが……
諸処の事情で、ゲームブックのような、質問に答えることで物語?が分岐していくページを作っています。
この分岐を、ブラウザの「戻る」で逆走する事を防ぐことはできるのでしょうか?
ちょっとややこしいですが、「a01.html」というページから分岐で「b01.html」「b02.html」というページにそれぞれリンクで飛べる時、一度「b01.html」に進んだ人が「a01.html」にブラウザBACKで戻って「b02.html」を選び直す事ができなくなるようにすることは可能なのか、ということです。
はたしてこれはCGIやJavaScriptなどを利用して実現可能な事なのでしょうか?それとも不可能なのでしょうか?
とりあえず、フリーCGIなどを利用して、履歴などからの直リンクができないような手はとりました。
<meta http-equiv="Pragma" content="no-cache">をくっつけて、キャッシュに残らないようにもしてあります。
あまり堅苦しいものではないので、逆走を完全に防止する事を諦めればいい話なのですが、できるだけ一度スタート地点に戻ってやり直して欲しいな、と(^^;思うので……
もしよろしければ、ご教授願えないでしょうか。
どうぞよろしくお願いいたします。
ST
1999/08/13(金) 22:26:42
http://www.tohoho-web.com/js/location.htm
IE4,NN3以上なら,location.replace を使えば履歴には残りません。
M.Takii
[E-Mail]
1999/08/14(土) 20:17:17
STさん、ご助言どうもありがとうございました。
実のところプログラミング知識も乏しく、HTMLタグ以外はあまり知らない(せいぜいCGIのHTML表示部を微妙に改造するぐらい)ので、今がんばってJavaScriptを勉強している所です。
とりあえず、<head>内に
<script language="JavaScript"><!--
window.location.replace(そのファイル自身のURL)
//-->
</script>
とくっつけてみたのですが、NC4.6でも相変わらず履歴には残っている模様……
大変申し訳ないのですが、もしよろしければどうやってlocation.replaceを使用すればいいのか教えていただけないでしょうか。
とはいえ、自分でも解決できるように、私ももう少し頑張って勉強します。(^^;
(JavaScriptって奥が深いですね……JS初心者だからそう思うのでしょうか?)
M.Takii
[E-Mail]
1999/08/14(土) 20:20:49
……自分つっこみです。
今、ふと思ったのですが、要するに該当する表示部を別のHTMLファイルに書いて、location.replaceで呼び出せばいいという事なのでしょうか……
違うかな?とりあえず、今から試してみようかと思います。
ST
1999/08/14(土) 20:50:47
<A href="JavaScript:window.location.replace('***.html')">次へ</A>
取りあえずはこんな感じで使えます。ただし,JavaScriptOFFの場合,またreplaceに対応していない場合は使えませんので,ご注意を。
M.Takii
1999/08/14(土) 22:17:18
[[解決]]
教えていただきありがとうございました。何とか逆走不可の仕組みを作ることに成功しました。(たぶん…)
似たような手だてを自分でも考えていたのですが、onClickを利用したあまり優雅ではないしろものでした…(^^;
JS無効及び非対応の場合は、素直に諦めようと思います。
[上に]
[前に]
[次に]