75

I have very simple extension:

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!");

});

I've loaded it in Google Chrome, it is turned on and... it doesn't work. It doesn't log anything in console, it doesn't alert anything and what is worse, I can't find it in developers tools "Scripts" tab. How can I find why it doesn't work?

//edit

I've changed manifest.json to this one:

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

And embeded JavaScript in background.html

Rob W
  • 341,306
  • 83
  • 791
  • 678
ciembor
  • 7,189
  • 13
  • 59
  • 100

2 Answers2

115

enter image description here

and also if your console.log("it works!"); does not show up, then that's mean chrome.history.onVisited is not fired yet.

ps: For function(HistoryItem result), you may want to change it to function(result).

Derek 朕會功夫
  • 92,235
  • 44
  • 185
  • 247
12

This response might be late but would help the rest. if your background.html has javascript errors then the page will not load (to inspect).

To find out whats wrong with your background.html, under chrome://chrome/extensions/ (i.e., manage extensions), click on the background.html link. This will load the developer tools but without background.html. At the botton-right of the window, you will see a red error symbol, and clicking on it will provide line numbers that needs to be fixed.

StackRover
  • 557
  • 5
  • 10