343 votes

Trouver la définition d'une fonction JavaScript dans Chrome

Les outils de développement de Chrome sont excellents, mais une chose qu'ils ne semblent pas avoir (à ma connaissance) est un moyen de trouver la définition d'une fonction JavaScript. Ce serait super pratique pour moi, car je travaille sur un site qui comprend de nombreux fichiers JS externes. Bien sûr, grep résout ce problème, mais dans le navigateur serait beaucoup mieux. Je veux dire, le navigateur doit le savoir, alors pourquoi ne pas l'exposer ? Ce que j'attendais était quelque chose comme :

  • Sélectionnez "Inspecter l'élément" dans la page, ce qui met en évidence la ligne dans l'onglet Éléments.
  • Cliquez avec le bouton droit de la souris sur la ligne et sélectionnez "Aller à la définition de la fonction".
  • Le script correct est chargé dans l'onglet script et il saute à la définition de la fonction.

Tout d'abord, cette fonctionnalité existe-t-elle et je ne la vois pas ?

Et si ce n'est pas le cas, je suppose que cela viendrait de WebKit, mais je n'ai rien pu trouver pour Demandes de fonctionnalités de l'outil du développeur o Bugzilla de WebKit .

3 votes

Une barre de recherche permet de rechercher le fichier actuel dans l'onglet scripts et vous pouvez jeter un coup d'œil au contenu d'une fonction en l'imprimant. Mais je suis maintenant curieux de savoir s'il existe un moyen de faire une recherche plus générale comme vous le souhaitez...

3 votes

Avec les Google Chrome Developer Tools, dans la fenêtre "Sources" Tap -> droite, vous avez la possibilité de définir des "Event Breakpoints".

1 votes

Dans mon cas, j'avais une variable définie sur une fonction inconnue. J'ai fait myvar.toString() et ça a donné : "function Object() { [native code] }" ce qui est tout ce que j'avais besoin de savoir.

20voto

Răzvan Panda Points 6800

Une autre façon de naviguer jusqu'à l'emplacement d'une définition de fonction serait d'entrer dans le débogueur à un endroit où vous pouvez accéder à la fonction et de saisir le nom complet de la fonction dans la console. Cela imprimera la définition de la fonction dans la console et donnera un lien qui, en cliquant, ouvre l'emplacement script où la fonction est définie.

10voto

Igor Krupitsky Points 51

Dans la console Chrome :

debug(MyFunction)
MyFunction()

6voto

Chris Robinson Points 186

Je trouve que le moyen le plus rapide de localiser une fonction globale est simplement :

  1. Sélectionnez Sources onglet.
  2. Dans le Regarder cliquez sur le volet + et le type fenêtre
  3. Les références de vos fonctions globales sont listées en premier, par ordre alphabétique.
  4. Cliquez avec le bouton droit de la souris sur la fonction qui vous intéresse.
  5. Dans le menu contextuel, sélectionnez Afficher la définition de la fonction .
  6. Le volet du code source passe à cette définition de fonction.

5voto

Abdollah Points 691

J'ai eu un problème similaire pour trouver la source d'une méthode d'un objet. Le nom de l'objet était myTree et sa méthode était load . J'ai placé un point d'arrêt sur la ligne où la méthode a été appelée. En rechargeant la page, l'exécution s'est arrêtée à ce point. Puis sur la console DevTools, j'ai tapé l'objet ainsi que le nom de la méthode, c'est-à-dire myTree.load et appuyez sur Entrée. La définition de la méthode a été imprimée sur la console :

enter image description here

En outre, en faisant un clic droit sur la définition, vous pouvez accéder à sa définition dans le code source :

enter image description here

2voto

subhro Points 159

Dans Google chrome, l'outil Inspecter l'élément vous permet de visualiser toute définition de fonction Javascript.

  1. Cliquez sur l'onglet Sources. Sélectionnez ensuite la page d'index. Recherchez la fonction.

enter image description here

  1. Sélectionnez la fonction puis cliquez avec le bouton droit de la souris sur la fonction et sélectionnez "Évaluer le texte sélectionné dans la console".

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X