![]() |
||||
![]() |
![]() |
![]() |
||
ホームページ掲載の画像をダウンロードされないようにしたい場合どうしていますか?
よく見かける一番簡単な方法は「右クリックを禁止する」という方法です。
< 右クリック禁止サンプルページ >
メッセージを表示させるには以下のようにします。 < 右クリック禁止サンプルページ >
しかしこれでは、ドラッグすればダウンロードすることができてしまいます。
次に考えられるのが、クリックイベントで別の動作をさせることでダウンロードを防ぐ方法です。
つまりクリックでウィンドウを開き、開いたウィンドウではクリックでウィンドウを閉じるという方法です。
< クリックでウィンドウを開くサンプルページ >
ヘッダ( <head> 〜 </head> の間 )に以下を書きます。
画像タグのクリックイベントで上記スクリプトを呼びます。
呼び出された画像ページの方はクリックイベントでウィンドウを閉じるスクリプトを書きます。
しかしページのソースを見て直接画像を呼び出せば画像が取得できてしまいます。
そして考えたのが、透明画像を上に乗せて右クリックやドラッグで画像を取ろうとしても透明画像が取られるだけで、目的の画像を守ることができます。
これも取ろうと思えば取られますが、すぐには仕組みが分からないので抑止には効果があると思います。
(って、ここで公表してはバレバレですが)
まずはサンプルをご覧下さい。
< 透明画像で保護する方法のサンプルページ >
右クリックやドラッグで画像を取得しても、1ピクセルの透明画像が取れるだけで「あれっ?」ってことになりませんか?
取得ができないと「何かプロテクトしているな!!」って思いますが、画像自体取得できるわけなので、ある程度抑止になると思いませんか?
1.spacer.gif という 1px × 1px の透明画像を用意する
(名前は何でも構いませんが、それらしい名前にした方がばれにくい)
2.画像を配置するところに通常通り配置する要領で透明画像を配置し、スタイルを適用させます。
(クラス名は何でも構いませんが、ここではとりあえず img としています)
3.スタイルシートに本当に表示させたい画像を背景指定します。