2013-03-13 4 views
8

このJavaScriptコードを使用して、Ctlr + cとCtlr + v、プレスクリーン、Alt + Tab、Ctlr + S、およびPrintScreenキー。Internet ExplorerとFirefoxブラウザの両方でjavascriptを使用してCtrl/Cを無効にする方法

<html> 
<head> 
<script language="javascript"> 

function Disable_Control_C() { 
var keystroke = String.fromCharCode(event.keyCode).toLowerCase(); 

if (event.ctrlKey && (keystroke == 'c' || keystroke == 'v')) { 
alert("let's see"); 
event.returnValue = false; // disable Ctrl+C 
} 
} 

</script> 
</head> 
<body onkeydown="javascript:Disable_Control_C()"> 
Hello World! 
</body> 
</html> 

残念ながら、コードはIEブラウザでは動作していますが、Firefoxでは動作しません。誰でもここにアドバイスできますか?

+3

あなたの目標はあなたのコンテンツを「盗む」からユーザーを防ぐためであれば、それは(ちょうどフィドラーを使用して、あなたはとにかくすべてを撮影してきました)本当に不可能です。ユーザーとしては、私はこのキーボードのコントロールが大変迷惑であることを知りました。 – mellamokb

+0

多分あなたはあなたが達成しようとしている一般的な目的を知ることができます。ポップアップメニューで対応するアイテムを無効にする予定ですか? – Igor

+0

このコードはCBTテストとして新しい機能を持つテスト用Webアプリケーションに追加されます。最大化や最小化などのその他の点は、別の方法で処理されます。私の主な目標は、私が質問したキーボードのキーを無効にすることです。 –

答えて

14
  • ブラウザが私にこれを行うとき、私は好きではない、と
  • それは回避するのは簡単だし、
  • これは、任意の定義によって「安全」としてカウントされませんが、

使用element.on(?:copy | cut |あなたはこのためにjqueryのそれを使用することができますpaste)

<body oncopy="return false" oncut="return false" onpaste="return false"> 
11

cutcopypasteの機能を要素にバインドするだけで済みます。

そして、このjQueryのスクリプトを追加:

$(document).ready(function() { 
    $('#Selector').bind('copy paste', function(e) { 
     e.preventDefault(); 
    }); 
}); 
+0

jQueryではなくjavascriptのみを使用する必要があります。 –

+1

ハハ、誰もjQueryソリューションを提供していないJavascriptに関する質問はほとんどありません。 – SexyBeast

+1

本当に答えをくれてありがとう。なぜそうしてはいけないのかについてのいくつかの注意点はありますが、とにかくこれを行うと便利です(例:カジュアルユーザーの場合、コピー/貼り付けが不可能な場合など)。ほんとありがと。 – bergie3000

関連する問題