2013-03-13 16 views
8

Tworzę ten kod javascript, aby wyłączyć Ctlr + c i Ctlr + v, prenscreen, ALT + TAB, Ctlr + S i przyciski PrintScreen .Jak wyłączyć Ctrl C/V za pomocą javascript dla przeglądarek Internet Explorer i Firefox

<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> 

Niestety, kod działa na przeglądarce IE, ale nie działa na firefox. Czy ktoś może tutaj doradzić?

+3

Jeśli twoim celem jest, aby uniemożliwić użytkownikom „kradzież” treści, to jest naprawdę niemożliwe (wystarczy użyć Skrzypek, i masz wszystko zrobione tak). Jako użytkownik uważałbym, że cała ta kontrola klawiatury jest denerwująca. – mellamokb

+0

Być może potrafisz powiedzieć, jaki ogólny cel próbujesz osiągnąć. Czy planujesz wyłączenie odpowiednich pozycji w menu podręcznym? – Igor

+0

Ten kod zostanie dodany do testowania aplikacji WWW, która będzie miała nową funkcję jako test CBT. Inne punkty, takie jak maksymalizacja i minimalizacja, i takie rzeczy będą obsługiwane w inny sposób. Moim głównym celem tutaj jest wyłączenie klawiszy klawiatury, o których wspomniałem w moim pytaniu. –

Odpowiedz

14
  • Nie lubię gdy przeglądarek mi to zrobić, a
  • Jest to łatwe do obejścia i
  • ten nie liczy się jako "bezpieczny" przez jakiejkolwiek definicji, ale

Użyj element.on(?:copy | cut | paste)

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

można go używać jQuery do tego. Musisz po prostu związać z twoim elementem funkcję cut, copy i paste.

I dodać ten skrypt jQuery:

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

Potrzebuję używać tylko javascript, a nie jQuery. –

+1

Ha ha, rzadko można znaleźć pytanie Javascript, gdzie nikt nie daje rozwiązania jQuery! – SexyBeast

+1

Dziękujemy za udzielenie odpowiedzi. Kilka uwag o tym, dlaczego nie należy tego robić, jest w porządku, ale czasem wiele razy warto to zrobić (np. Jeśli jest to zwykły użytkownik, jeśli zapobieganie kopiowaniu/wklejaniu nie ma charakteru _krytycznego itd.). Więc dziękuję. – bergie3000

Powiązane problemy