Existe-t-il un outil pour modifier dynamiquement l'exécution de javascript dans un navigateur? [fermé]

StackOverflow https://stackoverflow.com/questions/255785

  •  05-07-2019
  •  | 
  •  

Question

Existe-t-il un outil permettant de modifier de manière dynamique l'exécution de JavaScript dans un navigateur? Par exemple, pour modifier les valeurs des variables javascript pendant l'exécution.

Était-ce utile?

La solution

Firebug ou le débogueur Javascript Venkman.

Autres conseils

Firebug est donc vraiment l’une des meilleures options. Si vous êtes un développeur propriétaire de Visual Studio et que vous souhaitez déboguer à l’aide d’IE, vous pouvez le faire. Supposons que vous ferez cela avec Firebug en utilisant Firefox.

Tout d'abord, déterminez l'endroit où vous souhaitez modifier le code et placez la ligne suivante juste avant la ligne avec laquelle vous souhaitez commencer à jouer:

debugger;

Cela obligera Firebug à arrêter l'exécution du script à ce stade. Vous pourrez alors parcourir le code et modifier les valeurs des variables.

Vous pouvez également utiliser Firebug pour placer des points d'arrêt en cliquant à gauche d'une ligne de code dans la fenêtre de script de Firebug:

Capture d

Recherchez dans le shell javascript ici . C'est comme un débogueur dans votre navigateur. Vous pouvez exécuter / modifier n’importe quelle fonction javascript sur l’objet Document actif.

Très pratique pour déboguer / gérer le code javascript des autres peuples, sur les sites où vous n’avez pas accès à la source / au serveur.

Ai-je mentionné qu'il est complété? c'est génial.

Opera 9 est désormais livré avec Dragonfly (équivalent de FireBug) et compris qu’elle aussi peut éditer JavaScript à la volée. C’est au moins une fonctionnalité à venir, s’ils n’ont pas eu le temps de l’inclure, de toute façon.

Consultez Firebug

.

Comme mentionné par d'autres, Firebug vous permet de définir des points d'arrêt dans votre JavaScript (bien que je n'ai pas eu beaucoup de succès avec l'atteinte de points lorsque mon code JavaScript est DANS un document HTML plutôt qu'un fichier externe), ce qui interrompra l'exécution de une fonction pendant l'exécution.

Il vous permet également d'afficher les objets DOM et toutes les propriétés (y compris vos variables JavaScript).

Il existe également une version Lite de Firebug qui fonctionne dans les navigateurs autres que Firefox.

Mozdev dispose d'un outil appelé MozREPL . Vous pouvez non seulement modifier et redéfinir le code à la volée, mais vous pouvez également accéder au code du navigateur sous-jacent. C'est vraiment cool.

Il ouvre un port sur votre ordinateur et vous permet de lui associer une session telnet (à partir d’un hôte local uniquement) pour commencer à exécuter le code. Vous pouvez également ouvrir ce port jusqu’à des connexions qui ne proviennent pas de localhost .... (mais attention, c’est plutôt peu sûr et dangereux, etc., etc.).

Il est livré avec un mode mineur emacs qui vous permet d’envoyer différentes régions de texte directement à mozdev, et fournit un très bon mode d’interaction. Je l'ai développé pour définir des points d'arrêt Firebug directement à partir d'emacs et lancer des tests de sélénium. Fondamentalement, je peux utiliser un script pour mon navigateur depuis mon éditeur. C'est vraiment cool. Bientôt, je vais publier le code source.

JavaScript a une fonction eval (), puis vous pouvez créer votre chaîne. lancez-le.

<script type="text/javascript" language="javascript">
  example = function() {alert('first');}
  example();
  eval("example = function() {alert('second');}");
  example();
</script>

Le code ci-dessus montre comment eval peut être utilisé pour modifier le code existant.

@eyelidlessness, cela montre que vous pouvez modifier le code existant. Votre modification de la question clarifie la question initiale, mais donne donc à ma réponse une apparence invalide, mais au moment où elle a été publiée, il était valide, l'affiche originale aurait dû clarifier la question.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top