右クリックの禁止方法と解除・回避する方法を解説【JavaScript/HTML】
サイトから画像や文章をコピペしたくても、右クリックが禁止されていてコピペできないことがあります。この記事では、JavaScriptで右クリックを設定する方法や、サイトを閲覧するときに右クリック禁止を解除する方法について解説します。
目次
右クリックを禁止する方法
Webサイトを製作していると、自分がサイトに掲載したオリジナルの写真や文章を無断でコピペされて転載されてしまうことがあります。コピペされるのを防ぐためには、サイトを公開する前にコピペができないように対策を施す必要があります。
Windows PCでコピペする時には、右クリックでメニューを表示するのが一般的です。そこでコピペをするための方法として、Webページ内で右クリックを禁止するように設定する方法がよく取られます。
Webページで右クリックを禁止する方法には次の3つの方法があります。
htmlのJavaScript値を書き加えて右クリックできないようにする方法
Webページで右クリックを禁止する方法には、HTMLのJavaScript値で右クリック禁止の設定を行う方法があります。WebサイトはHTMLで記述されているので、HTMLのbody要素を次のように右クリック禁止のJavaScript値を加えれば、右クリックを禁止できます。
<body oncontextmenu="return false;">
「oncontextmenu」とは、マウスで右クリックボタンが押されたときの動作を決めるためのコマンドです。「oncontextmenu」に対して、「何もしない」を意味する「false」を返すことで、右クリックをしてもメニューが表示されません。コピーを含んだメニューが表示されないので、ページ内のコンテンツをコピペできなくなります。
右クリックに対して警告を表示する方法
ただ右クリックができないだけではなく、右クリックをした時に警告メッセージが表示されるサイトもあります。警告メッセージが表示されると、より強く閲覧者に対して右クリック禁止を訴えられます。
右クリック禁止の警告メッセージの表示もHTMLのbody要素の中のJavaScript値で設定します。右クリックを禁止しながら、警告メッセージを表示するためには、body要素を次のように記述します。
<body oncontextmenu="alert('右クリックは禁止です'); return false;">
最後に「return false」を入れるのを忘れてしまうと、警告メッセージが表示された後で、右クリックのメニューが表示されてしまうので忘れないように注意しましょう。
クリップボードへのコピーを禁止する方法
右クリックの禁止ではなくて、コピペを禁止したいのであれば、クリップボードへのコピーを禁止するためのJavaScript値のコマンドを書き込む方法もあります。コピーを禁止するためにはHTMLのbody要素のJavaScript値を次のように記述します。
<body oncopy="return false;">
「oncopy」はコンテンツのコピーについてのコマンドです。「oncopy」に対して、「何もしない」を意味する「false」を返すことでコピーできないように設定できます。
右クリック禁止を回避して解除する方法
今度は、右クリックが禁止されているサイトを閲覧した時に、右クリックを解除する方法をお伝えします。違法にアップロードされたコンテンツでなければ、ダウンロードやコピーして私的利用の範囲内で利用するのは法的にも許されています。右クリックが禁止されていても、右クリック禁止を解除してコピペすることも可能です。
デベロッパーツールでoncontextmenuのイベントにtrueを返す処理をする
Google Chromeなら開発者用ツールであるデベロッパーツールを誰でも簡単に開けます。デベロッパーツールを使って、右クリック禁止の処理である「oncontextmenu」に対して「false」を返す処理を、成功するを意味する「true」を返すように処理をする方法で、右クリック禁止を解除します。
Google Chromeで右クリックが禁止されているWebページを開いて、Windows10なら「F12」、Macなら「Option+Command+I」を押します。
すると画面の右側にデベロッパーツールが開きます。デベロッパーツールの「Console」を開いて、次のコマンドの中のいずれかを記述してEnterキーを押します。
document全体の右クリック禁止を解除する
document.oncontextmenu = function () {return true;}
HTML要素に対して右クリック禁止を解除する
document.getElementsByTagName('html')[0].oncontextmenu = function () {return true;}
body要素に対して右クリック禁止を解除する
document.body.oncontextmenu = function () {return true;}
JavaScriptを無効にする
右クリック禁止はJavaScript値で設定します。ブラウザでJavaScriptを禁止してしまえば、右クリック禁止が無効化されます。しかし、この方法はサイトの表示や動作そのものがおかしくなる可能性が高いので、あまりお勧めはしません。
Google ChromeでJavaScriptを着んすする方法は次の通りです。まずはGoogle Chromeで右クリック禁止のサイトを開いたら、右上の「︙」をクリックして「設定」を開きます。
「プライバシーとセキュリティ」から「サイトの設定」を開いて、「コンテンツ」の「JavaScript」を開きます。
JavaScriptの「許可」をオフにします。これで右クリックできるようになるはずです。
Google Chromeのアドオンを使う
Google Chromeには、右クリック禁止を解除するアドオンがあります。右クリック禁止解除のアドオンにはいろいろなものがありますが、おすすめのアドオンは「Pumpkin's Right Click Enable」です。
Google Chromeで上記のリンクに入り、「Chromeに追加」からアドオンを追加します。するとGoogle Chromeの右上のアドオンのアイコンに「P」のマークのアドオンが追加されます。こちらをクリックして、「ON」に設定すると、右クリックが禁止されているサイトでも右クリックできるようになります。
右クリック禁止にそもそも意味があるの?
Webサイトの運営者が右クリックを禁止しても、そもそも意味があるのかどうか、という疑問の声もあります。実際のところ右クリック禁止に意味があるのか解説します。
サイト側で設定しても完全な右クリック禁止やコピペ禁止は不可能
実際のところ、この記事でご紹介したように、右クリック禁止でサイトを設定しても、完全に右クリックやコピペを禁止することはできません。
ソースや画像のURLはブラウザで簡単に取得できる
JavaScript値を無効にする方法等を使わなくても、WebページのHTMLソースは「Ctrl+U」のショートカットキーで表示できます。ソースが表示されれば、テキストは簡単にコピペできるようになるだけではなく、画像のURLも取得できます。コピペを禁止しても、結局コピペは簡単にできます。
ローカルに保存すればエディタで簡単に開ける
右クリックを禁止しているサイトでも、「Ctrl+S」のショートカットキーでローカルに保存できます。ローカルに保存したWebページのソースは、エディタで簡単に開けます。エディタで開いたソースから、テキストや画像のURLは簡単に取得できます。
メニューが表示されなくなるので閲覧者の使い勝手を悪くする
コピペを禁止したいために右クリックを禁止すると、閲覧者はコピー以外のメニューも利用できなくなります。サイトの使い勝手が悪いと、リピートしてもらえなくなる可能性もあります。
お気に入り・ブックマークもできなくなる
右クリックのメニューに「お気に入り」や「ブックマーク」がある場合には、右クリックを禁止してしまうと、ユーザーはそういったメニューも利用できなくなります。印刷などの便利なメニューは使えなくなります。
せっかくお気に入りに入れてくれて、リピーターになってくれるかもしれないユーザーを、右クリック禁止を設定することで逃す可能性もあります。
右クリック禁止は簡単に解除できる!
この記事では、右クリックを禁止する方法と、右クリック禁止を解除する方法についてお伝えしました。HTMLについての知識が少しあれば、右クリック禁止の設定は簡単にできます。しかし、右クリック禁止を解除する設定も簡単にできます。
サイトの運営者は、右クリックを禁止してコピペをされないようにガードするメリットと、右クリックを禁止することでリピーターを逃すかもしれないデメリットを天秤にかけて検討したほうがいいでしょう。