Il est impossible de bloquer les utilisateurs de copier et coller sur un site Web. Les utilisateurs avertis peuvent voir votre code source HTML et remplacer des fonctions javascript qui les empêchent d`extraire des informations à partir de votre page Web ou de coller de nouvelles données dans les contrôles d`entrée. Cependant, vous pouvez utiliser javascript pour le rendre plus difficile pour de nombreux utilisateurs d`effectuer des opérations de copier et coller sur votre site. javascript va capturer les frappes d`un utilisateur, de déterminer si les clés de copier-coller sont pressés et informer l`utilisateur que votre site ne permet maintenant ces actions.
Ouvrez le Bloc-notes ou tout autre programme de traitement de texte et ajoutez le code suivant:
http://w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
http://w3.org/1999/xhtml ">
Blocage de test de copie & Pâte Cela crée un document HTML vide.
Ajoutez ce code après la "
" Étiquette:Cela crée un textarea et une zone de texte.
Ajouter ce code javascript après la "
window.onload = function () {
var objTextArea = document.getElementById ( `TextArea1`);
objTextArea.onkeydown = checkKey;
var objTextBox = document.getElementById ( `TextBox1`);
objTextBox.onkeydown = checkKey;
};
Ce code fixe les gestionnaires d`événements aux commandes textarea et zone de texte après chargement de la page. Lorsqu`un utilisateur appuie sur une touche alors positionné dans l`un de ces contrôles, le navigateur exécute la fonction appelée "clé de vérification." Ajouter des contrôles supplémentaires à ce bloc de code en utilisant la même logique. Par exemple, si vous avez une autre zone de texte nommée "TextBox2," ajoutez le code suivant à la fonction:
var objTextBox2 = document.getElementById ( `TextBox2`);
objTextBox2.onkeydown = checkKey;
Ce bloc de code joindre un gestionnaire d`événement à une zone de texte nommée TextBox2. La fonction résultante ressemblerait à ceci:
window.onload = function () {
var objTextArea = document.getElementById ( `TextArea1`);
objTextArea.onkeydown = checkKey;
var objTextBox = document.getElementById ( `TextBox1`);
objTextBox.onkeydown = checkKey;
var objTextBox2 = document.getElementById ( `TextBox2`);
objTextBox2.onkeydown = checkKey;
};
Ajouter cette fonction javascript après la fonction précédente:
fonction checkKey (e) {
var keyPressed;
si var e = window.event (e!);
if (e.keyCode) keyPressed = e.keyCode;
else if (e.which) keyPressed = e.which;
si (== keyPressed 17)
alerte("Pardon. Copier et coller non acceptés");
}
Cette fonction détermine la clé utilisateur appuie alors positionnés dans la zone de texte ou zone de texte contrôle. Si l`utilisateur appuie sur la "Ctrl" clé, qui a un code d`activation de 17 ans, le navigateur affiche un message d`alerte. Personnaliser ce message en changeant le texte.
Enregistrez le fichier avec une extension de ".html" et l`ouvrir dans un navigateur Web.
Tapez une valeur dans la zone de texte et de le mettre en évidence. presse "Ctrl + C" pour le copier. Vous verrez le message d`alerte. Répétez le processus avec la zone de texte. Le code javascript vous empêchera d`effectuer des opérations de copier-coller.
Conseils & Avertissements
- Appliquer la même logique à chaque élément d`entrée que vous voulez protéger. Inclure une valeur d`identification unique pour chaque commande d`entrée que vous souhaitez protéger de copier et coller.