• ベストアンサー

WEBページを印刷できなくするには

インターネット上に画像を掲載したいのですが、できれば完全には難しくても、すぐには印刷できないように設定したいと思っています。ツールバーから印刷の表示を消したり、右クリックが無効になるような方法はあるのでしょうか。 何分初心者なので簡単な方法がないか探しています。 何かよい方法を御存知の方がいらっしゃいましたらお教えいただけると助かります。 宜しくお願いいたします。

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

  • ベストアンサー
回答No.1

こんばんは。 印刷を完全に禁止するのは無理ですが、難しくすることは可能です。でも、印刷や保存を禁止するのは嫌われます。「コピーや印刷されたくないなら最初から公開するな!」というのがWeb公開の考え方の原則ですので、「印刷制限は最小限にとどめておくべき」だということは覚えておいてください。  さて、こういうことをやろうとする場合は、JavaScriptを使います。まずは、次のとおり試してみてください。 (1)Wordpadを開いて、下記のhtmlをコピペし、main.htmlというファイル名で保存してください。 <HTML> <HEAD> <TITLE>メインウインドウです</TITLE> <script language="JavaScript"> <!-- function opensub(){ win1=window.open("sub.html","sub","width=400,height=300"); } //--> </script> </HEAD> <BODY> <A href="javascript:opensub()">サンプル画像を開く</A> </BODY> </HTML> (2)次に、同じようにコピペで下記をsub.htmlというファイル名で保存してください。 <HTML> <HEAD> <TITLE>サブウインドウです</TITLE> <SCRIPT language="javascript"> <!-- function selfClose(time) { setTimeout('self.close()',time) } //--> </SCRIPT> </HEAD> <BODY onContextmenu="return false" onload="selfClose(5678)"> <DIV style="top : 0px;left : 0px; position : absolute; z-index : 1; " id="Layer1"> <IMG src="sample.jpg" width="400" height="300" border="0"></DIV> </BODY> </HTML> (3)sample.jpgというファイル名のJPG画像を用意してください。サイズはなんでもいいです。 (4)3つのファイルを同じフォルダに入れ、main.htmlをIEで開いてみてください。XPsp2だとJavaScript等を使ったアクティブコンテンツに対してはセキュリティの警告が出ますが、警告が出たら「許可」にしてください。サーバにアップロードしたファイルだと警告は出なくなりますので作成段階ではあまり気にしないでください。 (5)「サンプル画像を開く」をクリックすると、画像ウインドウが開き、ツールバー、メニューバーも出ません。画像の上では右クリックもできません。そして、5.678秒で自動的に閉じます。したがって、簡単には印刷とかコピーができない・・・というわけです。 この構文の細かい説明はこの際省略します。後はがんばってkujitanさんご自身が作ったHPにうまく移植するなり、パラメータを試行錯誤で変えてみるなりしてみてください。  JavaScriptを覚えるとHP作りの世界が一気に広がりおもしろいですよ~。

kujitan
質問者

お礼

ご回答ありがとうございます。 上記早速ためしてみたところ、、出来ました! ありがとうございます。 時間がたつと閉じてしまう機能なんてあるのですね。 さすがにそこまでするとなんだか気が引けたので そこだけ外してつくりました。 大変ありがとうございました。

関連するQ&A