【js】La souris interdit le bouton droit pour interdire l'ouverture de la console et l'interdiction du clavier


avant-propos

Bonjour à tous, aujourd'hui je vais partager avec vous que dans le front-end js, il est interdit de faire un clic droit avec la souris dans le navigateur, d'interdire à la souris de sélectionner et d'interdire les touches du clavier.
Cette méthode est celle que j'ai utilisée lors de la création d'un système d'évaluation de mots, car si vous ouvrez la console pendant l'examen et trouvez la bonne réponse via la console, cela n'a aucun sens.
Par conséquent, la console doit être désactivée et certaines connaissances de base sont appliquées, alors jetons un coup d'œil ensemble !

1. Désactiver

1. Désactiver le bouton droit de la souris

document.oncontextmenu = new Function("event.returnValue=false");

oncontextmenu est un attribut d'événement en JavaScript, qui est utilisé pour déclencher le gestionnaire d'événements correspondant lorsque l'utilisateur clique avec le bouton droit de la souris. Lorsque l'utilisateur clique avec le bouton droit de la souris, le navigateur affiche un menu contextuel. Cette propriété peut être utilisée pour empêcher le comportement par défaut du menu contextuel ou pour personnaliser le comportement du menu contextuel.

2. Désactiver la sélection de la souris

document.onselectstart = new Function("event.returnValue=false");

onselectstart est un attribut de gestionnaire d'événements qui se déclenche lorsque l'utilisateur commence à sélectionner du texte. Il peut être utilisé pour empêcher l'utilisateur de sélectionner du texte ou pour sélectionner du texte tout en faisant glisser un élément.

3. Désactiver le clavier F12

 document.addEventListener("keydown", function (e) {
    
    
 		console.log(e。key);
        if (e.key == "F12") {
    
    
          e.preventDefault(); // 如果按下键F12,阻止事件
        }
    });

En plus de l'écriture ci-dessus, il existe d'autres façons d'écrire.

document.onkeydown = () => {
    
    
  console.log(window.event.keyCode);
  for (let i = 9; i < 47; i++) {
    
    
    if (window.event && window.event.keyCode == i) {
    
    
      return false;
    }
  }
  for (let i = 58; i < 65; i++) {
    
    
    if (window.event && window.event.keyCode == i) {
    
    
      return false;
    }
  }
  for (let i = 91; i < 300; i++) {
    
    
    if (window.event && window.event.keyCode == i) {
    
    
      return false;
    }
  }
  // 禁用ctrl+shift+i
  if (window.event.ctrlKey && window.event.shiftKey && window.event.keyCode == 73) {
    
    
    return false;
  }
  if (window.event.shiftKey) {
    
    
    return false;
  }
  // 禁用ctrl+r
  if (window.event.ctrlKey && window.event.keyCode == 82) {
    
    
    return false;
  }
}

onkeydown est un gestionnaire d'événements en JavaScript qui se déclenche lorsque l'utilisateur appuie sur une touche du clavier. Vous pouvez utiliser l'événement onkeydown avec une fonction JavaScript pour effectuer une action lorsque l'utilisateur appuie sur une touche. Par exemple, vous pouvez utiliser l'événement onkeydown pour capturer l'utilisateur qui appuie sur la touche Entrée et soumet le formulaire.

Vous pouvez désactiver les boutons en fonction de vos propres besoins. C'est le besoin de mon projet, j'ai donc ajouté pour désactiver d'autres boutons du clavier. Le ctrl+shift+i ci-dessus peut également ouvrir le navigateur.

2. Tous les codes

// 1.禁用右键菜单
document.oncontextmenu = new Function("event.returnValue=false");
// 2.禁用鼠标选中
document.onselectstart = new Function("event.returnValue=false");

document.onkeydown = () => {
    
    
  console.log(window.event.keyCode);

  for (let i = 9; i < 47; i++) {
    
    
    if (window.event && window.event.keyCode == i) {
    
    
      return false;
    }
  }
  for (let i = 58; i < 65; i++) {
    
    
    if (window.event && window.event.keyCode == i) {
    
    
      return false;
    }
  }
  for (let i = 91; i < 300; i++) {
    
    
    if (window.event && window.event.keyCode == i) {
    
    
      return false;
    }
  }
  // 禁用ctrl+shift+i
  if (window.event.ctrlKey && window.event.shiftKey && window.event.keyCode == 73) {
    
    
    return false;
  }
  if (window.event.shiftKey) {
    
    
    return false;
  }
  // 禁用ctrl+r
  if (window.event.ctrlKey && window.event.keyCode == 82) {
    
    
    return false;
  }
}

Résumer

Enfin, je vais vous dire en secret qu'il existe un autre moyen d'ouvrir la console, qui consiste à appuyer sur F12 tout en actualisant la page du navigateur, qui peut également être ouverte, j'ai donc également effectué quelques opérations sur l'actualisation dans ce projet.
Vous pouvez essayer cette méthode d'ouverture de la console, mais vous devez d'abord désactiver F12, sinon vous ne saurez pas si vous faites une erreur.Cette méthode n'est pas particulièrement facile à ouvrir et vous devez l'essayer plusieurs fois.
Ce qui précède est tout le contenu de ce chapitre, merci d'avoir lu, j'espère pouvoir vous aider.

Je suppose que tu aimes

Origine blog.csdn.net/SqlloveSyn/article/details/131264001
conseillé
Classement