217 votes

Accès à la console et aux devtools du background.js de l'extension

Je viens de commencer à utiliser les extensions Google Chrome et je n'arrive pas à me connecter à la console à partir de mon js de fond. Lorsqu'une erreur se produit (à cause d'une erreur de syntaxe, par exemple), je ne trouve pas non plus de message d'erreur.

Mon fichier manifeste :

{
  "name": "My First Extension",
  "version": "1.0",
  "manifest_version": 2,
  "description": "The first extension that I made.",
  "browser_action": {
    "default_icon": "icon.png"
  },
  "background": {
    "scripts": ["background.js"]
  },
  "permissions": [
    "pageCapture",
    "tabs"
  ]
}

background.js :

alert("here");
console.log("Hello, world!")

Lorsque je charge l'extension, l'alerte s'affiche mais je ne vois rien qui soit enregistré dans la console. Qu'est-ce que je fais de mal ?

2 votes

0 votes

Veuillez sélectionner les messages ou les informations si la barre de surbrillance se trouve sur d'autres onglets comme No verbose. questions relatives à l'onglet sélectionné

412voto

Rob W Points 125904

Vous regardez au mauvais endroit. Ces messages de console n'apparaissent pas dans la page web, mais dans la page d'arrière-plan invisible (ManifestV2) ou dans le service worker (ManifestV3).

Pour voir la console correcte, ouvrez devtools pour le contexte du script :

  1. Visitez chrome://extensions/ ou cliquez à droite sur l'icône de l'extension et sélectionnez "Gérer les extensions".
  2. Activer le mode développeur
  3. Cliquez sur le lien nommé background page (ManifestV2) ou service worker (ManifestV3).

Capture d'écran pour les extensions de ManifestV2 :

enter image description here

enter image description here

Capture d'écran pour les extensions de ManifestV3 :

enter image description here

0 votes

@RobW, je n'ai pas le bouton triangulaire pour développer l'extension et je ne vois pas de vues actives. Est-ce que cette réponse n'est plus la solution pour la dernière version de Chrome ou est-ce que je rate quelque chose ?

1 votes

@ggundersen J'ai mis à jour l'image. Le triangle a été supprimé, cette étape se produit maintenant automatiquement lorsque le mode Développeur est activé.

0 votes

Comment déboguer le contenu des scripts alors ?

16voto

Michiel Points 987

J'ai eu le même problème, dans mon cas la journalisation était réglée sur "Hide all" dans l'onglet console des outils de développement de Chrome. Je n'avais même pas réalisé qu'il s'agissait d'une option, et je ne me souviens pas l'avoir désactivée.

screenshot of setting in console tab in chrome dev tools

8voto

rogerdpack Points 12806

Pour les adeptes qui souhaitent voir la console de débogage pour un "contenu script" de leur extension chrome, elle est disponible en faisant un "show developer console" normal puis en utilisant la flèche déroulante pour sélectionner son "environnement javascript" puis vous aurez accès à ses méthodes, etc.

enter image description here

8voto

diEcho Points 22385

En outre,

si vous voulez voir content_script js (lorsque la propriété "background" n'est pas définie) dans le fichier manifeste.json

"content_scripts": [{
    "matches": ["<all_urls>"],
    "js": ["popup.js"],
  }]

"browser_action": {
    "default_icon": "icon_32.png",
    "default_popup": "popup.html"
  }

entonces clic droit sur l'icône d'extension et cliquez sur Inspecter la fenêtre popup et la fenêtre du développeur s'ouvre avec popup.html ouvert, là vous voyez l'onglet console.

9 votes

1) Cela ne répond pas à la question, 2) C'est tout simplement faux ; le contenu script enregistre les messages dans la console de la page dans laquelle il est injecté, c'est-à-dire l'onglet réel du navigateur. Je suppose que dans votre code, popup.js a été réutilisé dans le popup.html et, en tant que telle, la sortie de cette copie va à l'endroit que vous avez mentionné. Mais c'est totalement trompeur.

3 votes

Cette réponse m'aide à vérifier le journal de l'extension chrome qui s'exécute en tant que popup.

3voto

BigDataScientist Points 6785

Similaire à la réponse de Michiel, j'ai également eu une drôle de configuration de console : Un filtre que je ne me souviens pas avoir réglé :

enter image description here

Après avoir effacé le filtre, j'ai vu les messages.

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