2009-05-21 10 views
36

Cette question a été posée de manière similaire before, mais je n'arrive pas à déboguer Javascript dans Google Chrome.Google Chrome Javascript Debugger et Scripts de contenu

Si je vais à la page> Développeur le "débogage Javascript" (Ctrl +Maj +L) est désactivé. Alt + ` ne fonctionne pas.

Je suis en train de développer une extension 'script de contenu' donc je lance le chrome avec --enable-extensions. Ce que j'aimerai idéalement faire est de définir des points d'arrêt et d'exécuter/exécuter mon script lors de son exécution. Je suis un peu sur la tête quand il s'agit de JavaScript, donc tout conseil est apprécié.

Je peux accéder à la 'Console JavaScript', mais je ne trouve pas les scripts de contenu à l'intérieur. Je ne suis pas sûr de savoir en quoi cela diffère du "débogueur JavaScript". J'utilise la dernière version de développement de Google Chrome (2.0.181.1) sur Windows Xp.

+0

vous pouvez poser la version des fenêtres que vous utilisez: XP, Vista, 7RC ... Je sais que Chrome et Windows 7 ne s'entendent pas particulièrement bien. – Joel

Répondre

34

Ces réponses semblent toutes être périmées, et puisque ce classement est très élevé dans google, voici la réponse à jour:

Dans Chrome, appuyez sur CTRL+SHIFT+i pour faire apparaître les outils de développement.

Sélectionnez 'Sources de

Cliquez sur la petite flèche qui vous permet de choisir parmi les scripts enter image description here

Ensuite, sélectionnez 'scripts' Contenu

enter image description here

Vous aurez alors besoin pour connaître l'identifiant de votre extension (disponible depuis la page chrome gérer les extensions) pour accéder à vos scripts et les déboguer comme d'habitude.

+0

Wow, le souffle du passé, je ne me souviens pas vraiment de cette question/développer des extensions Chrome, mais cela semble être une réponse solide Merci d'avoir sonné. –

+0

Vous n'avez plus besoin de connaître l'ID d'extension. Re maintenant listés par nom – Teepeemm

+0

Aussi si vous bousiller la section content_scripts de votre manifeste, vous ne verrez pas y notre script de contenu répertorié, erreur silencieusement. Par exemple, si vous vouliez en charger un pour Facebook et mettre seulement https://www.facebook.com/ dans content_scripts, vous ne le feriez pas charger à tout moment si vous n'étiez pas sur la page d'accueil (pas d'astérisque) ou si sur les liens qui incluaient le domaine mobile (m.facebook.com), etc. –

7

Cliquez avec le bouton droit de la souris et sélectionnez Inspecter l'élément, vous y trouverez le débogueur JS, entre autres outils de débogage. Le débogueur JS devrait vous permettre de définir des points d'arrêt, etc.

+0

Eh bien, c'est la console JavaScript, pas le débogueur. Il semble y avoir une différence. Je suis probablement dense ici, mais je ne peux pas trouver un moyen d'insérer des points d'arrêt dans le script à ce stade. Comment puis-je voir une fonction de script de contenu que j'ai ajoutée en tant qu'écouteur d'événements à un objet particulier? par exemple. Je veux pouvoir déboguer 'myFuncHere()' dans this.addEventListener ('click', myFuncHere, true); –

+2

Si vous cliquez sur le bouton "Scripts" en haut de la fenêtre de l'inspecteur, cela devrait être le débogueur. Vous pouvez sélectionner une source de script particulière dans un menu déroulant, puis cliquer sur le numéro de ligne pour définir un point d'arrêt. – Scott

+0

Merci pour l'astuce, Scott, mais je ne vois aucun de mes scripts utilisateur là-bas, juste ceux du site Web proprement dit. Est-ce que je manque quelque chose? –

3

Ce que vous avez à faire est d'activer votre extension, puis dans Chrome, cliquez sur "Developer" -> "Javascript Console". Puis cliquez sur l'onglet "Scripts". Après cela, vous devriez voir une liste juste en dessous de tous les scripts chargés. Vous verrez des scripts pour la page en cours ainsi que tous les scripts pour toutes les extensions que vous avez installées. (Si aucun script n'apparaît après l'ouverture de la console, vous devrez peut-être l'actualiser)

Il semble que toutes les extensions Chrome se voient attribuer un ID unique. Vous pouvez trouver votre ID en consultant la page Extensions Chrome en mode développeur.

Ensuite, il suffit de parcourir les scripts dans la liste déroulante de votre script. Sélectionnez votre script et vous pouvez définir des points d'arrêt, etc.

Il y a beaucoup plus d'informations sur les outils de développement Chrome ici: http://www.chromium.org/devtools

44

Mettez la commande suivante dans votre script:

debugger; 

qui lancera le débogueur Javascript quand il arrive à ce point

+0

Est-ce que firebug supporte cette chance? –

+1

Je pense que cela fonctionne dans Firebug Pourquoi ne pas essayer et répondre ici si ça fonctionne? :) – Rory

+3

C'est le meilleur jour de ma vie, merci ! – Hassek

Questions connexes