web-dev-qa-db-fra.com

Comment déboguer Google Chrome script en arrière-plan?

J'ai une extension très simple:

manifest.json

{
  "name": "historyCleaner",
  "version": "0.1.1",
  "manifest_version": 1,
  "description": "This is my first Chrome extension",
  "background": {
    "scripts": ["cleaner.js"]
  }, 
  "permissions": [
    "history"
  ]
}

cleaner.js

chrome.history.onVisited.addListener(function(HistoryItem result) {

  console.log("it works!");
  alert("it works!");

});

Je l'ai chargé dans Google Chrome, il est activé et ... cela ne fonctionne pas. Il ne consigne rien dans la console, il n'alerte rien et ce qui est pire, je ne le trouve pas dans l'onglet "Scripts" des outils développeurs. Comment savoir pourquoi cela ne fonctionne pas?

//modifier

J'ai changé manifest.json en celui-ci:

{
  "name": "historyCleaner",
  "version": "0.1.5",
  "manifest_version": 1,
  "description": "This is my first Chrome extension",
  "background_page": "background.html",
  "permissions": [
    "history",
    "background"
  ]
}

Et incorporé JavaScript dans background.html

69
ciembor

enter image description here

et aussi si votre console.log("it works!"); n'apparaît pas, cela signifie que chrome.history.onVisited n'est pas encore déclenché.

ps: Pour function(HistoryItem result), vous pouvez le changer en function(result).

103

Cette réponse pourrait être en retard mais aiderait le reste. si votre background.html contient des erreurs javascript, la page ne se chargera pas (à inspecter).

Pour découvrir ce qui ne va pas avec votre background.html, sous chrome: // chrome/extensions/(c'est-à-dire gérer les extensions), cliquez sur le lien background.html. Cela chargera les outils de développement mais sans background.html. En bas à droite de la fenêtre, vous verrez un symbole d'erreur rouge, et en cliquant dessus, vous obtiendrez des numéros de ligne à corriger.

11
StackRover