我的扩展非常简单:
的manifest.json
{
"name": "historyCleaner",
"version": "0.1.1",
"manifest_version": 1,
"description": "This is my first Chrome extension",
"background": {
"scripts": ["cleaner.js"]
},
"permissions": [
"history"
]
}
Run Code Online (Sandbox Code Playgroud)
cleaner.js
chrome.history.onVisited.addListener(function(HistoryItem result) {
console.log("it works!");
alert("it works!");
});
Run Code Online (Sandbox Code Playgroud)
我已经将它加载到谷歌浏览器中,它已打开并且......它不起作用.它不会在控制台中记录任何内容,它不会提醒任何事情,更糟糕的是,我在开发人员工具"Scripts"选项卡中找不到它.我怎么才能找到它无效的原因?
//编辑
我把manifest.json改成了这个:
{
"name": "historyCleaner",
"version": "0.1.5",
"manifest_version": 1,
"description": "This is my first Chrome extension",
"background_page": "background.html",
"permissions": [
"history",
"background"
]
}
Run Code Online (Sandbox Code Playgroud)
并在background.html中嵌入了JavaScript
请考虑以下Chrome扩展程序:
{
"name": "Test onStartup",
"version": "0.0.0",
"manifest_version": 2,
"background": {
"persistent": false,
"scripts": ["eventPage.js"]
},
"permissions": ["storage"]
}
Run Code Online (Sandbox Code Playgroud)
chrome.runtime.onStartup.addListener(function() {
console.log("I started up!");
chrome.storage.local.set({"startedUp": true});
});
Run Code Online (Sandbox Code Playgroud)
chrome.runtime.onStartup记录为"当安装了此扩展程序的配置文件首次启动时",并且我怀疑它在重新加载扩展时也会触发.但是,在重新启动浏览器或重新加载扩展时,我没有console.log在_generated_background_page.html控制台中看到该消息,并且
chrome.storage.local.get("startedUp", function(v) { console.log(v) })没有产生任何结果,所以我怀疑没有调用该监听器.
我是否误解了这个事件被触发或错误地绑定到它或类似的东西?这是Linux上的Chrome 28.0.1500.71的问题吗?