プロが教える店舗&オフィスのセキュリティ対策術

次のようにHTMLを記載しているのですが、IE11だとCtrl+Pが禁止できません。
現象としては、テキストボックスに、「p」という文字が入力されてしまったり、ctrlキーを押しっぱなしで、メッセージボックスのOKをクリックすると、印刷ダイアログが表示されてしまいます。
どなたかご教授ください。

ソース
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script language="JavaScript" type="text/javascript">
<!--
function keydown()
{
e = window.event;

if( e.ctrlKey )
{
if(e.ctrlKey && e.keyCode == 80)
{
e.cancelBubble = true;
e.returnValue = false;
e.keyCode = null;
e.stopPropagation();
e.preventDefault();
alert("CTRL+Pボタンは、使用できません。" );
return false;
}
}
}
window.onkeydown = keydown;
-->
</script>
</head>
<body>
<form name="frm" method="post" action="#">
<p>テスト:<input type="text" name="no" ></p>
</form>
</body>
</html>

A 回答 (1件)

何の為に印刷を制限しようとしていますか?



そもそもHTMLでは不可能な事をやろうとしています。
印刷を阻止したいのであればPDFの様な印刷不能の機能があるドキュメント形式にしないといけません。
ただこの手の印刷不能というものは無視するソフトウェアが配布されている為、簡単に回避可能です。

回避策まで阻止しようとするとDRMを導入しなければならなくなります。
DRMを導入するならMPEGとかムービ系のファイル形式にする必要があります。

ですが、根本的なところに戻ってみてください。
スターウォーズの動画ファイルとかハリーポッターの内容が書かれているなら未だしも・・・
貴方の書いたHTMLファイルの内容なんて誰も印刷しようとなんてしませんよ。
それどころさえ読みたいとさえ思わないでしょう。
向こう10年で2~3人が間違えて印刷ダイアログを表示してキャンセルボタンを押してくれる人が現れると良いですね。

印刷されるなんて気にしているのは貴方だけです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!