キヨスク(キオスク)・モードを使わずに右クリックを阻止するには?

[上に] [前に] [次に]
高橋熊介 [E-Mail] 1999/07/28(水) 16:59:13
こんにちは。

[質問]
キヨスク・モードや下記に示したJavaScript以外で、右クリックを阻止する
方法はないでしょうか?

[現在の状況]
今私が作っているページは、「戻る」「再読み込み」を使用させたくないので、
JavaScriptで上記のボタンが無いウィンドウを開かせて使用してもらっています。
ところが、そのウィンドウにおいても、右クリックすると「戻る」「再読み込み」を含む
メニューが表示されてしまうので困っています。

[今まで検討したがムリだったもの]
・キヨスクモード
ユーザ数が多い/ブラウザを他の業務でも利用する/NN2.01以降前提/という理由で
不採用。
・JavaScript
上記と同じくブラウザのバージョン問題で不採用。
---
イベント    captureEvents()
イベントハンドラonMouseDown   #マウスが押されたら
イベントオブジェクトevent.which #左・真ん中・右を感知
右クリック発生を感知し、それに対してalertでメッセージを出す
"戻る・再読み込み は使わないでください"
---

[環境]
NN2.01以上
IE3.0以上

どなたかご存知の方いらっしゃいましたら、教えてください。
お願いします。

Aurai 1999/07/29(木) 05:40:39
「戻る」「再読み込み」を使用しても大丈夫なページを作る。
これしか方法はないんじゃないかと思います。どうでしょう?
私なんか「戻る」や「再読込」にマウスは使いませんし。

文月 1999/07/29(木) 07:54:40
>「戻る」「再読み込み」を使用しても大丈夫なページを作る。
これに、賛成

完全に「戻る」「再読み込み」が使用できないようにできるのならいいけど、
なんらかの方法で、ユーザができる環境にあるなら、結局、その対応もしなく
ちゃだめなんじゃないかな...
# 注意文を流しても、結局、やる人はやっちゃうし...

みんこ 1999/07/29(木) 09:28:20
なんでもどったり再読込したらだめなんですか?
例えば投稿欄で再読込されたら2重投稿になるとか?
そういうのがあるならそちらの対策練った方がいいと思います。
途中で接続切れて全部読み込めなかったときとか、リロードできなかったら困るし
一歩踏み込んで「あ、間違えました」てなときに戻れなかったらやっぱり困るし...。

ダイアログに出なくてもキーでもリロードやバックできるしなあ。
困る理由を書いてもらえたら対処できるかもしんないですよ。
(単に「逃がしたくない」ってのはどうかと思いますが)

Nobu3 1999/07/29(木) 11:23:12
ところで「キヨスク・モード」ってなんですか?

え〜っと。否定的というか、たぶんできない事なので。
スクリプトを使っても難しいのに、それを使わずにプログラムなんて無理でしょう。
HTMLはプログラムじゃないですから。
それとも、JAVAとか?まさかVBScript?

おそらく高橋さんがいうページは、趣旨を伝えて(戻る厳禁とか)、
それが守れる人にだけ楽しめるページになるんでしょうから、
注意書きで十分だと思います。
逆にそこまで悩むなら、魅力あるページ作りに時間を使ったほうがよほど有意義だと思います。

以上私見です。

カブリ 1999/07/29(木) 11:37:01
過去記事に、こんなのがありました。
../199812/98120010.htm

Nobu3 1999/07/29(木) 14:07:25
キヨスク・モード了解です。>カブリさん
こんなモードがあったんですね。驚きました。
一瞬「どうやって終了させようか?」なんて考えてしまいました。

このモードは、クライアントに依存するんだから、この問題ではもともと意味ないのですね。

ウンジャマラミー 1999/07/29(木) 15:26:19
以前、こんなことがありました。
Web⇔DB連携ソフトを使用したホームページを作りまして、
トップページから、ある検索画面へリンクするとDB連携ソフトとセッションを張るんです。
で、戻るボタン(これは<INPUT TYPE="BUTTON"です)を押したら、セッションを切る。
でも、この時ブラウザの「戻るボタン」でどっかに行かれちゃうと、セッションが残ってしまう。
セッション数にも制限があり問題になりました。
そこで、戻るボタンを無効にする方法を考えたことがありました。
で、とった対策方法は...
「ブラウザの戻るボタンを押すと正常に動作しないことがあります」というメッセージを追加した。
色々試行錯誤しましたが結局駄目だったんです。
やっぱりホームページは個人でやるのが一番なんでしょうね。
仕事ではやりたくないです。

高橋熊介 [E-Mail] 1999/07/29(木) 19:32:07
みなさん、回答をどうもありがとうございました。
結局できなさそうですね。でも、その見当がついてよかったです。

>困る理由を書いてもらえたら対処できるかもしんないですよ。−みんこさん
そのとおりですね。ちょっと言葉が足りませんでした。
もしかして、別の解決方法がみつかるかもしれませんものね!

実は、個人のホームページではなく、仕事なのです。
−申し訳ないのですが、会社のアドレスがまだ用意されていないので個人の
 アドレスを載せています。
[困っていること]
今やっているのはメインフレームをWebから使えるようにするシステムなのです。
イメージとしてはメインフレームをWebから遠隔操作するようなかんじなのです。
(その間にCORBAを使ってオブジェクトラッピング技術を用いています)
よって、

ブラウザボタンを使って戻る→戻ったページからリクエストを出す

という操作を行なうと、メインフレームとWebの間にあるオブジェクト・ラッピング
製品から「メインフレーム画面とWebが連動してないゾ!」エラーが出てしまうのです。

みんこ 1999/07/30(金) 10:29:11
むっつかしいことはよくわかりませんが、
JavaScriptで、ページから抜けだそうとしたときにアラート等のメッセージを出せます。

<SCRIPT LANGUAGE="JavaScript">
<!--
function modoru(){
alert("戻っちゃいやん");
}
// -->
<BODY onUnload="modoru()">

とか、そういうのはダメですか?confirmでもいいかも。

Tmb 1999/07/30(金) 11:58:15
onUnloadから,発生してる「他のページへの移動」をキャンセルできましたっけ?
#例えば<A href>のようにvoidにしたり,return falseにしたりとか。

もし出来るなら,みんこさんの方法を一歩進めて,グローバルなフラグを1つ設けて,
フラグが立ってるときにのみ他のページへの移動を可能にするとか。

でも問題はonUnloadで移動を本当にキャンセルできるか・・・ですね。

Mugi [E-Mail] [HomePage] 1999/07/30(金) 13:57:52
> onUnloadから,発生してる「他のページへの移動」をキャンセルできましたっけ?
IEならできますね。
onbeforeunloadイベントでreturn "移動しないでください"
のようにするとIのページ移動確認ダイアログを表示させられます。
ただし、ユーザーがOKを選択すればページ移動できます。

ばかぼん 1999/08/02(月) 12:44:16
>イメージとしてはメインフレームをWebから遠隔操作するようなかんじなのです。
想像ですが、これはイントラネットでしょうか?
もしそうなら、インターネットのように不特定多数の人が見るのではなく、特定多数の
人が見るのですよね?
だったら、断り書きで十分なのでは?(人の仕事の仕様にまで意見するのも何なんですが)
onUnload()も仕様が
>[環境]
>NN2.01以上
>IE3.0以上
では使えないわけですし。

高橋熊介 [E-Mail] 1999/08/02(月) 14:44:49
[[解決]]
みなさま、ありがとうございました。
技術的なことばかりでなく、運用方法の面でも検討していこうと
思います。

[上に] [前に] [次に]