- PR -

ブラウザの「戻る」ボタンを効かなくする方法がありますか?

投稿者投稿内容
わちゃ
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 162
お住まい・勤務地: 東京
投稿日時: 2006-02-15 19:54
http://www.broadband-xp.com/hidesource/windowopen.html

なんかはどうでしょうか?

いろんな抜け道はありますが、とりあえず大概は大丈夫かと思います。


#JSF は、あんまり知らないので、ここから下は見当違いだったらごめんなさい。

あと、こんなんはどうでしょうか?

1.POST変数 で、pagenum というような hidden の値を常に持っていて、一画面ごとにインクリメントする。

2.サーバのセッション変数でも pagenum を管理しておいてページへのアクセスごとにチェックする。

3.pagenum が期待される値と違ったら(通常は戻るを使ったり、リロードした場合)は、ログイン画面に移動する。
kalze
ぬし
会議室デビュー日: 2003/10/23
投稿数: 406
お住まい・勤務地: 東京・東京
投稿日時: 2006-02-15 20:29
ブラウザの戻るボタンを非アクティブにする(グレーとか)方法は、
申し訳ありませんが、自分にはわかりません。

javascriptが有効でないといけませんが、
・メニューやボタンのないウィンドウを立ち上げて、そこで操作させる
・ヒストリーを操作して、履歴を残さないようにする
といったあたりしかおもいつきませんでした。

前者は、戻るボタンは表示されませんが、Backspaceキーとかマウスだとかで実質戻れますが。

後者は履歴が残らないので、戻りようがないですが、javascriptが有効でないとやっぱりダメ。

仕様や前提で決まっているのかもしれませんが、
ブラウザによっても実現できる方法は異なってくるくるかもしれません。
(IEって限定してても、IEコンポーネントのブラウザはどうなるか?とか)
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-15 21:10
引用:

kalzeさんの書き込み (2006-02-15 17:06) より:

じゃんぬねっと様の指摘は、
ログインしているブラウザはそのままで、もう一つ別のブラウザ(Window)を立ち上げて、
新しいほうのブラウザで戻るボタンを有効にしたいと考えている画面に遷移した場合は大丈夫ですか?
ということだとおもいます。


そのとおりです、フォローありがとうございます。

先にも書きましたが "根本的な" 解決策は、現状のままではないです。
まず、ブラウザは様々なので戻るボタンを無効化は基本的にできません。
クライアント側の制御はスクリプトになるわけですが、無効化できるのでこれもダメですね。

kalze さんもご指摘しているように、仕様を見直して頂くのが最も適切な対応と言えるでしょう。
というのは、1 行では伝わるはずもなく... ですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-02-16 05:46
ログインの仕組みを自前で用意していらっしゃる見たいですが、サーブレットコンテナが備えている認証機能を利用してはいかがでしょうか。
何が問題となっているのか良く理解していなのですが、認証に関わる大抵の問題はかなりシンプルに解決できます。
Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-02-16 10:44
有難うございます。
 kalzeさんからの「・ヒストリーを操作して、履歴を残さないようにする」ですが、
IE6.0の場合はJavascriptでどうやって実現できます? ご教授ください。


_________________
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-02-16 11:20
やり方は知りませんが、
・JavaScript で履歴を扱うオブジェクトは何なのか調査
http://tinyurl.com/a3rtq
・履歴を扱うオブジェクトにどんなメソッドがあるか調査
って方向でどうでしょう。

[ メッセージ編集済み 編集者: インギ 編集日時 2006-02-16 11:23 ]
kalze
ぬし
会議室デビュー日: 2003/10/23
投稿数: 406
お住まい・勤務地: 東京・東京
投稿日時: 2006-02-16 12:43
引用:

Mxfullさんの書き込み (2006-02-16 10:44) より:
有難うございます。
 kalzeさんからの「・ヒストリーを操作して、履歴を残さないようにする」ですが、
IE6.0の場合はJavascriptでどうやって実現できます? ご教授ください。



コード:
<SCRIPT>
history.forward();
</SCRIPT>


とか。

googleで「ブラウザ 戻る 無効」で検索すると、この手の話がずらーっと並ぶんですが
Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-02-16 17:37
kalzeさんからの下記のScriptで解決できたようです。
有難うございました。

<SCRIPT>
history.forward(1);
</SCRIPT

スキルアップ/キャリアアップ(JOB@IT)