2013-03-13 78 views
8

我正在製作此JavaScript代碼以禁用Ctlr + c和Ctlr + v,prenscreen,ALT + TAB,Ctlr + S和PrintScreen鍵。如何在Internet Explorer和Firefox瀏覽器中禁用Ctrl C/V使用javascript

<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 2013-03-13 19:44:50

+0

也許你可以說出你試圖達到的一般目的。你打算在彈出菜單中禁用相應的項目嗎? – Igor 2013-03-13 19:45:29

+0

此代碼將被添加到測試Web應用程序,它將具有CBT測試的新功能。像最大化和最小化等其他問題將以不同的方式處理。我的主要目標是禁用我在我的問題中提到的鍵盤按鍵。 – 2013-03-13 19:51:17

回答

14
  • 瀏覽器這樣對我,當我不喜歡,和
  • 這很容易解決,並
  • 這不算是「安全」的任何定義,但

使用element.on(?:copy | cut | paste)

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

您可以使用它的jQuery這一點。您只需要將cutcopypaste函數與您的元素綁定即可。

並添加此jQuery腳本:

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

我只需要使用javascript而不是jQuery。 – 2013-03-13 19:58:14

+1

哈哈,你很少會找到一個沒有人提供jQuery解決方案的Javascript問題! – SexyBeast 2013-08-03 19:32:21

+1

謝謝你實際提供的答案。關於爲什麼不應該這樣做的一些說明是好的,但是有時候這麼做很有用(例如,如果它只是爲了臨時用戶,如果防止複製/粘貼不是_critical_等)。那謝謝啦。 – bergie3000 2014-02-19 18:02:45

相關問題