"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment arrêter ou modifier l'exécution de JavaScript côté client ?

Comment arrêter ou modifier l'exécution de JavaScript côté client ?

Publié le 2024-11-22
Parcourir:991

How to Stop or Modify Client-Side JavaScript Execution?

Comment arrêter ou modifier l'exécution de JavaScript côté client

Introduction

Dans certains scénarios , vous devrez peut-être arrêter ou modifier l'exécution de fonctions JavaScript spécifiques dans un environnement côté client. Cela peut être dû à diverses raisons, telles que la suppression de fonctionnalités indésirables ou l'ajustement du comportement des éléments dynamiques.

Arrêter l'exécution de JavaScript

Pour les navigateurs modernes comme Firefox, l'événement beforescriptexecute peut être utilisé pour intercepter et empêcher l’exécution de JavaScript avant qu’elle ne se produise. Cela vous permet de cibler des balises ou des éléments

Pour implémenter cette méthode, vous pouvez utiliser une fonction JavaScript comme la suivante :

function checkForBadJavascripts(controlArray) {
  for (var J = controlArray.length - 1; J >= 0; --J) {
    var bSearchSrcAttr = controlArray[J][0];
    var identifyingRegex = controlArray[J][1];

    if (bSearchSrcAttr) {
      if (identifyingRegex.test(zEvent.target.src)) {
        stopBadJavascript(J);
        return false;
      }
    } else {
      if (identifyingRegex.test(zEvent.target.textContent)) {
        stopBadJavascript(J);
        return false;
      }
    }
  }
}

Le paramètre controlArray vous permet de définir des modèles et les actions correspondantes pour les scripts correspondants. Par exemple, vous pourriez avoir une règle pour arrêter l'exécution d'un script si son URL source correspond à un modèle spécifique :

checkForBadJavascripts([
  [true, /evilExternalJS/i, null]
]);

Modification du comportement d'une fonction JavaScript

Si vous devez modifier le comportement d'une fonction JavaScript spécifique, vous pouvez utiliser des techniques JavaScript dynamiques pour injecter ou remplacer le comportement de la fonction. code.

Une façon de procéder consiste à utiliser la fonction overrideFunction de [Greasemonkey](https://github.com/greasemonkey/greasemonkey):

GM_overrideFunction(window.init, function() {
  // Override the existing init function and modify its behavior as needed
});

Vous pouvez également utiliser la fonction addJS_Node pour insérer un nouveau nœud JavaScript qui exécute votre code personnalisé :

addJS_Node('alert("Hooray, you are a millionaire!")');

Compatibilité des navigateurs

Notez que pendant que le script précédent s'exécute L'événement est pris en charge dans Firefox, il n'est actuellement pas pris en charge dans d'autres navigateurs comme Chrome. Pour les navigateurs autres que Firefox, vous devrez peut-être utiliser une extension de navigateur complète pour obtenir la fonctionnalité souhaitée.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3