> 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>
(ちなみにこの事例ではアラートが嫌がられることを認識しつつもそうしないと右クリックを制御できない環境があるためあえてそうしています。)
お礼
MAN_MA_RUI様 回答ありがとうございます!!! >oncontextmenu="return false;"自体がJavaScriptです html言語だとばかり思っていました 勉強になりました JavaとJavaScript 私の頭の中 はっきりいって 渾然一体となっています・・・・ これも勉強になりました 参考URLありがとうございました!!!