みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ホームページの右クリックを禁止にする方法についてご質問をさせて頂きます

ホームページの右クリックを禁止にする方法についてご質問をさせて頂きます。よろしくお願いします。

現在、ホームページを作成中ですが、右クリックを禁止にしたく以下の記述をしました。

<script type="text/javascript"><!--
function click() {
if (event.button==2) {
alert('右クリックできません')
}
}
document.onmousedown=click
// --></script>


ホームページのDOCTYPE等は以下のようになっております。

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>テストページ</title>
<meta name="keywords" content="テスト,テスト1,テスト2" />
<meta name="description" content="自動車整備に関するページです" />
<link href="css/abc.css" rel="stylesheet" type="text/css" media="all" />
<link href="css/def.css" rel="stylesheet" type="text/css" media="all" />

<style type="text/css">

</style>
</head>
<body>


上記の</head>と<body>の間に以下の記述をしました。

<script type="text/javascript"><!--
function click() {
if (event.button==2) {
alert('右クリックできません')
}
}
document.onmousedown=click
// --></script>



その後htmlチエッカーで確認をしました。
http://openlab.ring.gr.jp/k16/htmllint/htmllint.html

したところ、以下の警告が出たのですが、良く理解出来ないためご質問をさせていただきました。

9: line 21: <script> を 3行目の <html>~</html> 内に書くことはできません。 → 解説 43

1: line 21: <script> を使うときは <head>~</head> 内に <meta http-equiv="content-script-type" content="~" /> を指定するようにしましょう。 → 解説 146


どなた様か、ご指導の程よろしくお願い致します。解説を読んでも良く理解が出来ずにおります。
どなた様か、よろしくお願い致します。

投稿日時 - 2009-12-25 20:31:41

QNo.5547121

すぐに回答ほしいです

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

そのまんまです。
html要素は、HEADとBODYしか内部に持ちえません。
【引用】____________ここから
<!ENTITY % html.content "HEAD, BODY">
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで
[The global structure of an HTML document (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#edef-HTML )]より
解説146を読みましょう。

★補足
 右クリック禁止は意味ありません。それどころがサイトの評価を徹底的に下げてしまいます。
 ブックマークも登録できない。私だと右クリックのコンテキストメニューのすべてが使えなくなるということ。小さい画像を大きくしたり、読みにくい小さな文字を大きくしたり、IEやOperaなど他のブラウザに切り替えて表示したり、今のページはそのままでタブや別ウィンドでリンク先を開いたり、テキストの意味を辞書で調べたり、印刷したり、この記事よいなとメモもできない。
 javascriptでできるけど、決してしてはならない使い方。刃物で人は殺せるから、殺した。と同じくらい。
 もちろん、私はjavascriptのこの指定は無効にしてますから、私には効かない==多分多くのユーザーも==

右クリック禁止 - Google 検索 ( http://www.google.co.jp/search?hl=ja&lr=&safe=off&ei=Kqk0S_-GPJeXkQWbuNHwCA&sa=X&oi=spell&resnum=0&ct=result&cd=1&ved=0CA8QBSgA&q=%E5%8F%B3%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E7%A6%81%E6%AD%A2&spell=1 )

投稿日時 - 2009-12-25 21:00:31

お礼

ORUKA1951様

この度は、ご指導ありがとう御座いました。
右クリックというのは、ここまで意味が無いものだったとは知りませんでした。
詳しく解説頂きまして、分かりやすいご指導ありがとう御座いました。

また、ご縁がありましたときはよろしくお願いします。

投稿日時 - 2009-12-27 12:29:02

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

解説 43については、
> 上記の</head>と<body>の間に以下の記述をしました。
それがダメだというメッセージです。headの中かbodyの中に書いて
ください。いい加減なサイトの解説を読まず、規格書を参照して書
く習慣をつけましょう。

解説146については、ご自分でもスタイルの記述にCSSを使うと宣言
したように、スクリプトの記述にどんなスクリプト言語を使うのか
宣言してくれということです。今までmeta要素は意味も判らずに何
となく書いてたんでしょうか。規格書を参照して書く習慣をつけま
しょう。

もちろん、その程度のスクリプトは大抵の人に無意味です。アラー
トが出たらリターンキー叩く必要があるだけで、contextual menu
自身は出ますから。対策をとるまでもない稚拙な方法ですね。

それから、「ご質問」はないでしょう。回答者のがわが「あなたの
ご質問」とやるモノであって、自分で自分の質問に「ご」を付ける
のは日本語としてアウトです。

参考URL:http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/scripts.html.ja.sjis

投稿日時 - 2009-12-26 08:50:30

お礼

grumpy_the_dwarf様。
この度は、的確なアドバイスをありがとう御座いました。

正直今までmetaやスクリプト自分のなかで分かっているようで、実際には良く理解していなかったのだと思います。一度書籍で勉強をしたいと思います。

この度は、ありがとう御座いました。
また、ご縁がありましたときはよろしくお願いします。

投稿日時 - 2009-12-27 12:26:22

あなたにオススメの質問