• ベストアンサー

右クリック禁止が効かないのですが

作成しているHPで右クリック禁止を設定したのですが、一部のPCで効きません。 「右クリック禁止」の表示は出るのですが、「OK」ボタンを押すと、 従来通り、保存などのメニュー画面が出てきます。 OSはWindowsXP。IE6使用です。 何が要因なのでしょうか。 ちなみに<body oncontextmenu="alert('右クリック禁止');return false;">を使いました。 大変困っております。 どうぞよろしくお願い致します。

  • HTML
  • 回答数8
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
noname#77303
noname#77303
回答No.6

たびたび失礼します。 「要因の一つだったりするのでしょうか・・・?」との事ですが、XHTMLである事には何の問題もありません。 javascript自体はこちらで動作確認済み、さらにHTMLの書式にも誤りが無いと言うと、やはりお客様のブラウザの設定を疑うべきではないかと思います。 javascriptが有効かどうかを確認するには、<noscript>タグを使うのが手っ取り早いでしょう。 もし無効だった場合は、IE6でjavascriptを有効にする方法について書いているサイトがありましたので参考までに。 (最後に余計なお節介ですが、右クリックを禁止してまで画像の保存を防ぎたいなら、いっそ画像を細かく分割してしまう方がよいかも・・・。右クリックはとても嫌がられますし・・・。)

参考URL:
http://support.biglobe.ne.jp/settei/browser/win-ie6/fbsw6_031.html
yoioto
質問者

お礼

ありがとうございます。 <noscript>タグを使って確認してもらいました。 でもjavascriptは有効でした・・・。 原因はわからないのですが、お客様には納得して頂きました。 ご丁寧にありがとうございました。

その他の回答 (7)

  • pick52
  • ベストアンサー率35% (166/466)
回答No.8

どうでもいいことですけど、JavaとJavaScript混同していませんか。 まったくの別物です。 http://ja.wikipedia.org/wiki/Java http://ja.wikipedia.org/wiki/JavaScript で、画像とられたくないっていってもブラウザは一旦ローカルの ディスクにキャッシュとしてデータを保存するので画像も ローカル上に保存されてしまいます。 Operaなんかはデフォルトで右クリック禁止を回避できますし。 だから、そこから抽出することも実際には可能です。 ほとんどやっても無意味なことで、これを苦労して実装しても 本当に意味がないように思います。 お客様が要求の対応に苦労するのは分かりませんが何とか納得して もらうわけにはいかないでしょうか。 もう、そういった理由ならJavaやFlashなどを使うしかないと思います。 ネット上に公開している以上、ライセンスなどの問題がある場合以外では それは不可能といった方がいいでしょう。 ライセンスの問題がある場合は、ページにその旨を記述してコピー しないようにお願いするしかありません。

yoioto
質問者

お礼

ありがとうございます。 私自身、JavaやJavaScriptに対して、勉強不足です。 JavaScriptを安易にJavaと略していました。 失礼しました。 ネット上に公開して多くの人に見てもらうことが出来る反面、 リスクもありますよね。 一応今回のことは、お客様には納得してもらいました。 ありがとうございます。

  • xindex
  • ベストアンサー率55% (5/9)
回答No.7

アラートで禁止する方法はOKをクリック後すぐに右クリックすることで突破できます。 アラートすら出さない方法は onContextmenu="return false" また、ユーザーからしてみるとこれは結構うざいので独自メニューを作ってみてもいいかもしれない。 いずれにしろ、javascriptをoffにしている方には効きません。 Sleipnirだと、ステータスバーの部分で簡単にJavascriptOFFとかできちゃうから、知ってる人には本当に効果がない。 画像を取られたくないだけとのことですので、 透過画像を用意して、IMGの背景に表示させたい画像を設定すれば幾分かましではないでしょうか・・・。<img src="toumei.gif" style="background-image:url('表示する画像');width:画像横幅;height:画像縦幅;"> (背景画像を保存はでなかった・・・はず?) どんなにがんばってもキャッシュフォルダ探せば保存はされちゃうわけですが・・・。

yoioto
質問者

お礼

ありがとうございます。 背景にしたら、取られる可能性は下がりますね。 今後はそのことも想定して作るようにします。あ

回答No.5

> 一部のPCで効きません。 一部のPCとはどんなPCでしょうか。 > 「右クリック禁止」の表示は出るのですが、「OK」ボタンを押すと、 とのことなのでJavaScriptはonになっているはずですが、 IE6を使われていますか? IE6以外なら、右クリック制御スクリプトの実行を許可しない設定をしていませんか?

yoioto
質問者

補足

お客様のPCなので、実際に確認したわけではないのですが、 OSはWindows XP。 IEを使用しているようです。 ちなみにVersion 6.0.2600.0000.xpclnt_qfe.010827-1803です。 何が原因なのでしょうか・・・

  • Gizensha
  • ベストアンサー率34% (207/608)
回答No.4

さて、右クリックを禁止してもメニュー操作だったり、スクリプトだったりでソース表示はできちゃいませんか?

yoioto
質問者

補足

「右クリック禁止」を施しても、簡単に解除できることは理解しております。 ただ、お客様のHPを作成していまして、 お客様のPCでJavaが効かないような症状が出ているもので・・・。

noname#140925
noname#140925
回答No.3

回答では有りませんが・・・ どれだけ頑張っても、JavaScriptをOffにするだけで右クリック禁止は突破されてしまう事は理解されてますか? 世の中にはページのソースを見られたくないから、という理由で仕掛ける不思議な人もいるようですが・・・そういうページに限って、ソースを見たところでオリジナルな事は何もやってなかったり。 何のために右クリック防止したいのかを書いては如何でしょうか? 単純にソースを見られたく無いから、とかで無ければ、右クリック禁止以外で防ぐ方法があるかもしれませんよ。 まぁ、Webに公開している時点で、公開しているページの物を見せたく無いだとか、ローカルに保存されたくないだとか言う事自体が矛盾してるのですが。

yoioto
質問者

補足

実はお客さまのHPを作っていまして、画像を出来るだけ取られたくないとのことから、 「右クリック禁止」の要請がありました。 私も簡単に解除できることは知っていますし、 ユーザーにとって、かなり目障りな方法であるとは思うのですが・・・。 そして、Javaが効かないPCというのがお客さまのPCなんです・・・。 私自身では確認できていません。 大変困っております・・・

noname#77303
noname#77303
回答No.2

こんにちは。 早速、質問にあるHTMLタグをコピーしてIE6にて実行したところ、きちんと動作しました。書き方がおかしい、誤字、と言う事は無いようです。 <body>タグをきちんと閉じていなかったり、他の部分にミスは無いでしょうか? ぜひ、HTMLチェックをしてみてください。

参考URL:
http://htmllint.itc.keio.ac.jp/htmllint/htmllint.html
yoioto
質問者

補足

ありがとうございます。チェックしてみます。 やはりHTMLに問題があるのでしょうか・・・。 ちなみにXHTMLで作成しております。 それも要因の一つだったりするのでしょうか・・・

回答No.1

<body oncontextmenu="alert('右クリック禁止');return false">

yoioto
質問者

補足

「;」が要らないということでしょうか?? それで不具合が出ているのでしょうか・・・。

関連するQ&A

  • 右クリック禁止タグについて

    右クリック禁止のタグを調べていたら、 <BODY oncontextmenu="alert('ここに文字');return false;"> という短いのと <SCRIPT language=JavaScript>という書き出しで始まる長いのがあるようなのですが、 この二種類は何が違うのでしょうか?

    • ベストアンサー
    • HTML
  • 画像をクリックしたときに右クリック禁止を発動したい

     Bodyタグなどに「oncontextmenu=return false」と書くと、右クリックを禁止できますが、最初から右クリックを禁止するのではなく、ある特定の画像をクリックしたときに発動させたいのですが。  それを例えばダイナミックHTML(?)的に「<img src="xxx.jpg" onmousedown="document.body.background='壁紙'">」のようなやり方を応用して、「oncontextmenu=return false」を発動できないか試してみましたが、(文法を根本的に知らないので)どうも上手く出来ません。  (※<img src="a.jpg" oncontextmenu=return false>と書けば、その画像の右クリックだけは禁止できますが)  Javaスクリプトを使えばこのコントロールが可能かと思いますが、もしこの「onmousedown="document.body.background='壁紙'"」レベルの単純な指示で、右クリック禁止が発動できる方法が何かございましたら、お教えいただければ幸いです。 (※右クリック禁止をさせても、結局のところソースを見られたりするのを禁止する事は出来ない、というのは知っています。そういう内容の質問ではありません)

    • ベストアンサー
    • HTML
  • スタイルシートでの「右クリック禁止」の書き方

    右クリック禁止のタグは↓を使っています <body oncontextmenu="return false;"> これをスタイルシートで使う場合の記述は どのように書くのでしょうか。 ご教授 お願いいたします。 なお 右クリック禁止しても 簡単に破られるのは承知の上です

  • フレームでの右クリック禁止

    フレームを使って、画面を分割しているのですが、単体のHTMLを開くと次に示すJavascriptで右クリックが出来なくなりますが、フレームにしてしまうと、出来なくなってしまいます。 フレームにしても右クリックを禁止するには、どうしたらよいでしょうか? ご教授ください。よろしくお願いします。 <script language="JavaScript" type="text/javascript"> <!-- function contextmenu() { alert("右クリックは、使用できません。"); return false; } document.oncontextmenu = contextmenu(); --> </script>

  • CSSにコピー禁止タグを入れるにはどう書けばいいですか

    画像とかのコピーをされるのを禁止させるとき 右クリックをすると 窓が開いて禁止できるタグがhtmlにありますが、 CSSしかカスタマイズできない所でCSSタグで禁止させるタグはありませんか? htmlのbodyダグの後ろに<body onContextmenu="alert('★複製コピー禁止★');return false;">を書けば右クリックができなくなります。 CSSはどう書けばいいんでしょうか?

  • 動画上での右クリック禁止について

    右クリックを禁止するJavaScriptを外部ファイルに 書いて、動画のプロパティなどが見づらいように したいと思っているのですが、うまくいきません。 oncontextmenuを無効にする形で、 HTMLや画像の上では、右クリックを無効にできたのですが、埋め込んだWindowsMediaplayerの動画の上で 右クリックをすると、普通にcontextmenuが出てきて しまいます。 どのようにしたら、動画ファイル上での右クリックを禁止にすることができるでしょうか? どなたか教えてください。よろしくお願いします。 外部JSファイルに書いた内容は、下記のとおりです。 function DisableOnContextMenu(ev) { return false; } function DisableContextMenu(ev) { if (ev) { if (ev.button && ev.button == 2) { // W3C DOM2 return false; } else if (!ev.button && ev.which == 3) { // N4 return false; } else if (navigator.platform.indexOf("Mac")!=-1 && navigator.appName == "Netscape") { return false; } } else { if (event && event.button && event.button == 2) { // IE return false; } } } if (navigator.appName == "Netscape" && !(navigator.platform.indexOf("Mac")!=-1)) { document.captureEvents(Event.MOUSEDOWN); } document.onmousedown=DisableContextMenu; document.oncontextmenu=DisableOnContextMenu;

  • HTMLのbodyタグをいじって右クリック禁止に

    ブログ記事がコピペされて困っています。 そこで、HTMLのbodyタグに「oncontextmenu="return false;"」を記述する方法で、右クリックできないようにしようと思っています。 そのやり方についてなのですが、HTMLの中の <body> の部分の<>内に、bodyに続く形で上記のコードをはめ込んだので大丈夫でしょうか。

  • 特定の入力フォームだけ右クリック禁止

    ある特定の入力フォームだけコピーペーストを禁止したいです。 http://kaworu.jpn.org/kaworu/2008-07-05-1.php このページを参考にコピーペーストできない入力フォームを作りましたが、 ある人から右クリックでコピーペーストできると言われました。 使用OS、ブラウザは不明です。 onContextMenu="return false;"以外に特定の入力フォームの右クリックメニューを出さない方法はありますでしょうか。 検索してもページ全体を右クリック禁止にする方法ばかり出てきて困っています。

  • 右クリック禁止スクリプト挿入法

    右クリック禁止スクリプト挿入法 http://home.wi-wi.jp/lab/008/ こちらのページを教えていただきまして、さっそく試行錯誤してみました。 このページ内では、2つの画像と禁止領域と許可領域のコード があり僕の場合とりあえず、1つの画像を右クリック禁止にしたいので、 <body oncontextmenu="return prohibitRight()"> <p><img src="test123.jpg" class="prohibit" title=""></p> <script> function prohibitRight(e,btn, cn){ e=e||event; btn=e.button||e.which; cn=(e.target)?e.target.className:e.srcElement.className; if(btn<2 || cn.search(/prohibit/i)==-1 ) return true; e.defaultValue=null; e.returnValue=null; if(e.stopPropagation){ e.stopPropagation(); e.preventDefault(); } return false; } window.oncontextmenu=prohibitRight; window.onclick=prohibitRight; </script> と省略し一個の画像だけ禁止にするように、適当な場所へコードを埋め込んでみました。 がうまく行きません。 どういった方法をとれば、上のURLのサイトのように一個画像に右クリック禁止 コードを埋め込む事ができますか?よろしくお願いいたします。

  • ヤフオクで説明文の右クリック禁止の仕方

    ヤフオクに出品しているのですが、 私の説明文の検索部分をそっくりそのままコビーされて、 自分の出品画面の説明文に記載されていました。 自己紹介の部分には、 『当方の説明文の引用・画像の転載はお止め下さい』と書いてあるのですが… 一生懸命、自分で考えて、画像もきれいに取れるように何枚もとって、手間隙かけた画像や文章をコピー、ペーストでサッサ持っていかれたのは、とても腹立たしいです。 下記を試みてみましたが、反映されませんでした。 <img src="2.gif" oncontextmenu="alert('右クリックはダメ');return false;"> ヤフオクの説明文の部分に、 有効な右クリック禁止のHTMLのタグはないのでしょうか?

専門家に質問してみよう