家・車以外で、人生で一番奮発した買い物

右クリック禁止のタグは↓を使っています
<body oncontextmenu="return false;">

これをスタイルシートで使う場合の記述は
どのように書くのでしょうか。

ご教授 お願いいたします。

なお 右クリック禁止しても 簡単に破られるのは承知の上です

A 回答 (4件)

> JAVAは敷居高いので各ページに<body oncontextmenu="return false;">


> 埋め込んだ方が無難かなと思いました
JavaとJavaScriptは別物であり、後者の略称がJavaであるわけでもなく、また後者の略称としてJavaという言葉を用いるのも適切ではありません。
http://e-words.jp/w/Java.html
http://e-words.jp/w/JavaScript.html

CSSはレイアウトの定義を行うものだし、右クリック禁止で使っているoncontextmenu="return false;"自体がJavaScriptです。
oncontextmenu,onload,onmousemove,onclick,ondoubleclickなどマウスやキーボードなどの特定の動作を感知して何らかのアクションを起こすものは全てHTMLではありません。HTMLの属性として利用できるものであってもHTMLを使用しているわけではないという状態です。

で、CSSを使って同様の動作を実現することは不可能です。ブラウザの挙動に関して何らかの制御を行うものはHTMLないしJavaScriptで行うのが普通です。
(独自拡張の類まで入れるとCSSの設定でブラウザのシステム関連を呼び出すものはありますけど…。)

さらに、その方法だとIEだけしか制御できません。
下記に挙げたようなパターンや参考リンクにあるパターンのほうが効果的です。

<script type="text/javascript">
<!--
function myNoMenu(){
event.cancelBubble = true
event.returnValue = false;
return false;
}
function myEventFx(myEvent){
if(myEvent.button && myEvent.button == 2){
alert("右クリックは禁止");
return false;
}
}
function myEventIE(){
if(event.button == 2){
myNoMenu();
alert("右クリックは禁止");
return false;
}
}
function myEventNN(myEvent){ // N4
if(myEvent.which == 3){
alert("右クリックは禁止");
return false;
}
}

if(document.getElementById){
if(window.opera){
window.addEventListener("mousedown",myEventFx,true);
}
else if(window.addEventListener){
document.oncontextmenu = myEventFx;
}
else if(document.all){
document.oncontextmenu = myNoMenu;
document.onmousedown = myEventIE ;
}
else if(document.layers){
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = myEventNN ;
}
}

//-->
</script>
(ちなみにこの事例ではアラートが嫌がられることを認識しつつもそうしないと右クリックを制御できない環境があるためあえてそうしています。)

参考URL:http://www.mozilla.gr.jp/standards/webtips1002.h …
    • good
    • 0
この回答へのお礼

MAN_MA_RUI様 回答ありがとうございます!!!

>oncontextmenu="return false;"自体がJavaScriptです
html言語だとばかり思っていました
勉強になりました

JavaとJavaScript 私の頭の中 はっきりいって 渾然一体となっています・・・・
これも勉強になりました

参考URLありがとうございました!!!

お礼日時:2007/04/09 16:59

JavaScriptでやるなら、以下の手順はどうでしょうか?



/////////////////////////////////////////////////////////
【1】ANo.2さんが記載してくれた参考URLに入って、ページ真ん中あたりの水色が背景色になっているスクリプト記述部分をコピー。
(1行目の「<script language="Javascript">」と、最終行の「</script>」はコピーしなくてもいいです)

【2】コピーした文をメモ帳などに貼り付けて、○○.jsという名前をつけて保存します。

【3】右クリックを禁止したいページの<head> ~~ </head>内に
<script src="○○.js" type="text/javascript"></script>
と書きます。
/////////////////////////////////////////////////////////

右クリックを禁止したいページには全ページ書き込むことになるので
<body oncontextmenu="return false;">
を埋め込むのと手間的にはそんなに変わらないかもしれませんが、若干スマート?かも…。
    • good
    • 0
この回答へのお礼

hachi_08様
2度も回答、アドバイスいただき ありがとうございます!!!

さっそく 実行してみます

ありがとうございました!!!

お礼日時:2007/04/09 16:48

えーと、CSSというのは基本的に文字の色とか配置とか、デザインを受け持つものであって、CSSに右クリック禁止のような命令を受け持つ要素はありません。



強いて言えば、javascriptで書く事になると思います。これとて、javascriptを無効にしていれば何の意味も成しませんが。
参考→http://www.broadband-xp.com/hidesource/contextme …
    • good
    • 0
この回答へのお礼

345itati様 早々の 回答ありがとうございます

スタイルシート使えば 全ページ一括で右クリ禁止できると
思っていたら・・・できないのですね。。。。。

JAVAは敷居高いので各ページに<body oncontextmenu="return false;">
埋め込んだ方が無難かなと思いました

ありがとうございました。

お礼日時:2007/04/09 00:45

cssで右クリック禁止をさせる記述は存在しないと思います。


JavaScriptなどではダメなのでしょうか?

この回答への補足

hachi_08様 はやばやの回答ありがとうございます
私の 浅い知識だと
スタイルシート使えば 「全てのページ」に各種設定が
一律に思いのままできる・・・・と、思っていました(恥)

そんなに甘くなかったのですね。。。。

JavaScriptでできるのなら、参考になるURL知っていたら
お願いいたします

補足日時:2007/04/09 00:21
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報