javascript - Browserübergreifende Methode, um alle Methoden des Textkopierens aus einem Textbereich zu verhindern?
Ich arbeite an einer Online-Tippsoftware. In der Tippsoftware läuft alles gut, aber ich habe das Problem mit unehrlichen Nutzern, die möglicherweise den Text in das Textfeld eingeben, ihn kopieren, dann die Seite neu laden (und somit den Timer zurücksetzen) und ihn sofort wieder einfügen. Daher dachte ich in Richtung der Verwendung von etwas wie evt.preventDefault();, wenn JavaScript das Drücken der Strg-/Cmd-Taste zusammen mit der C-Taste erkennt. Aber dann wurde mir klar, dass der Benutzer immer noch über die Menüleiste auf Bearbeiten -> Kopieren zugreifen könnte. Daher fragte ich mich, ob es eine browserübergreifende Methode gibt, um beide Kopiermethoden zu deaktivieren?
Antwort #1
Sie können versuchen, den folgenden jQuery-Code zu verwenden:
$('input[type=text],textarea').bind('copy paste cut drag drop', function (e) {
e.preventDefault();
});
Antwort #2
Du könntest vielleicht so etwas machen:
var txtArea = document.getElementById("YourTextAreaId");
txtArea.oncopy = function() { return false; }
txtArea.onpaste = function() { return false; }
txtArea.oncut = function() { return false; }
Aber selbst dann kann der Benutzer den Inhalt auf andere Weise kopieren, wie in Ihrer Frage vorgeschlagen.
