- PR -

[ASP.NET2.0]コンテキストメニューの制御について

1
投稿者投稿内容
Java人
ベテラン
会議室デビュー日: 2005/06/24
投稿数: 94
投稿日時: 2006-08-21 13:33
ブラウザ:IE6.0 SP2

<DOCTYPE>タグが定義されているHTMLで、
<body>タグにoncontextmenuプロパティにfalseを設定すると、
<body>タブの範囲のみでしかコンテキストメニューが非表示なりません。

ちなみに<DOCTYPE>タグを消すと<body>タグの範囲外でもコンテキストメニューは表示されませんでした。

こういった事例をご存じの方がおられましたら、ご教授願います。

あと、ASP2.0で<DOCTYPE>タグを削除しても問題ないでしょうか?
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-08-21 13:43
bodyタグの範囲外でブラウザ上に表示されているものがあるということ自体がおかしいような気がしますが。。。
Java人
ベテラン
会議室デビュー日: 2005/06/24
投稿数: 94
投稿日時: 2006-08-21 13:54
どっとねっとふぁん様

>bodyタグの範囲外でブラウザ上に表示されているものがあるということ自体がおかしいような気がしますが。。。
説明不足でした。
ブラウザを全画面表示にして余白部分で右クリックするとコンテキストメニューが表示されるんです。
<body>タグの範囲外でブラウザ上にボタン等が表示されている訳ではないです。。。
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2006-08-21 14:44
こんにちは。

「oncontextmenuプロパティにfalseを設定」というのは、たぶん
JavaScript の oncontextmenu イベントハンドラにて、戻り値に false を返
すことを指していると思われますが、正しいでしょうか。
もしそうならば、質問内容が回答者に伝わるように用語などは正しく書くべきです。
実際どっとねっとふぁんさんは誤解されているようですし。

引用:

ともゆきさんの書き込み (2006-08-21 13:33) より:

ちなみに<DOCTYPE>タグを消すと<body>タグの範囲外でもコンテキストメニューは表示されませんでした。
(snip)
あと、ASP2.0で<DOCTYPE>タグを削除しても問題ないでしょうか?


<!DOCTYPE>『宣言』を消すと動作が変わるのは、IE の標準準拠モードと後
方互換モードの違いによるものだと思われます。
宣言を削除することで後方互換モードになるため、<body>要素の外(余白部
分)でもコンテキストメニューが表示されないようになるのでしょう。
参考資料
http://www.seo-equation.com/www/cat25/doctype_switching.html

個人的には後方互換モードは今後は廃止されていくと思われるので、積極的に
使用するのはお勧めできません。
そもそも右クリックを出さないようにすること自体お勧めしませんが。
_________________
ぽぴ王子@わんくま同盟
ぽぴ王子の人生プログラミング中 / ぽぴンち。
Java人
ベテラン
会議室デビュー日: 2005/06/24
投稿数: 94
投稿日時: 2006-08-21 19:12
>ぽぴ王子
ありがとうございます。

記載頂いたURL内容を見る限り<!DOCTYPE>タグがなくても問題なさそうなので、
記述しないことにします。

>そもそも右クリックを出さないようにすること自体お勧めしませんが。
これはエンドユーザーからの指定ですので覆すことはできません。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-08-21 19:21
引用:

ともゆきさんの書き込み (2006-08-21 19:12) より:

記載頂いたURL内容を見る限り<!DOCTYPE>タグがなくても問題なさそうなので、記述しないことにします。


いえ、quirk にするならするで明示的に記述してください。

# 私も、右クリックを出さないようにすること自体お勧めしません (アクセシビリティ的に x) が、
# ユーザーにうまく提案できなかったのであれば、しょうがないですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-08-22 22:00
読んでみて→ユーザの操作を制御する/悪意のデータからシステムを守る link to わんくま同盟ブログ
出来れば、そこからリンクしている、「じゃぁ、どうすりゃいいのさ」「やるべきことをやろうよ」も。

引用:

>そもそも右クリックを出さないようにすること自体お勧めしませんが。
これはエンドユーザーからの指定ですので覆すことはできません。


エンドユーザの要望であっても、覆せないものではありません。もっとも、説得できるだけの要素をお持ちでないなら、覆せませんが。→わんくま同盟勉強会 #1 反省と補足 link to わんくま同盟ブログ
引用:

また、「ユーザにも要求するようになっていく」が、「ユーザの言うことは絶対。その通りに作れ」ということであれば、それに対しては絶対反対します。

できあがったシステムに、「ソリューション」という言葉を使うことがあります。「ソリューション」には、「解決」という意味があります。システム開発のどこに携わるかで意識も変わってきますが、最終的に納めるシステムは、ユーザが抱える問題を解決するものであるはずです。そうであるなら、システム開発に関わる人間は、相談者でもあると思います。他の人に相談するのは、その人に、より優れたところがあることを認めるからではないでしょうか。たとえ相手が素人だとしても、素人なりの考え方、取り組み方に一考する価値があるからではないでしょうか。そういった「価値」を提供するのが、ソリューションだと思います。また、その「価値」を「価値」として認められないなら、最初からシステム導入を考えない方が良いと思います。


「相談者」は、「相談相手」の間違いだな。直しとこ。ってか、話の立場がコロコロ入れ替わっているな。書き直そうっと。
MKT
会議室デビュー日: 2005/08/08
投稿数: 1
お住まい・勤務地: 川崎市
投稿日時: 2006-12-04 21:19
だいぶ遅い返答ですが、IE7では、
<script type="text/javascript">
<!--
// 右クリック禁止
function document.oncontextmenu(){
return false;
}
//-->
</script>
でできました。

[ メッセージ編集済み 編集者: MKT 編集日時 2006-12-04 21:19 ]
1

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