相关疑难解决方法(0)

如何调试Google Chrome后台脚本?

我的扩展非常简单:

的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

javascript debugging background google-chrome-extension

69
推荐指数
2
解决办法
3万
查看次数

chrome.runtime.onStartup从不开火?

请考虑以下Chrome扩展程序:

的manifest.json

{
    "name": "Test onStartup",
    "version": "0.0.0",
    "manifest_version": 2,
    "background": {
        "persistent": false,
        "scripts": ["eventPage.js"]
    },
    "permissions": ["storage"]
}
Run Code Online (Sandbox Code Playgroud)

eventPage.js

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的问题吗?

google-chrome google-chrome-extension

7
推荐指数
2
解决办法
5338
查看次数