【问题标题】:How to debug Google Chrome background script? [duplicate]如何调试谷歌浏览器后台脚本? [复制]
【发布时间】:2012-04-22 08:08:08
【问题描述】:

我有一个非常简单的扩展:

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

});

我已将它加载到谷歌浏览器中,它已打开并且......它不起作用。它不会在控制台中记录任何内容,也不会发出任何警报,更糟糕的是,我在开发人员工具的“脚本”选项卡中找不到它。我怎样才能找到它不起作用的原因?

//编辑

我已将 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"
  ]
}

并在 background.html 中嵌入 JavaScript

【问题讨论】:

  • 首先你可以尝试从第一行删除HistoryItem - 你有语法错误
  • 哦,我是傻瓜,我从文档中粘贴了它并忘记了:)。但是还是不行。

标签: javascript debugging background google-chrome-extension


【解决方案1】:

如果你的console.log("it works!"); 没有出现,那意味着chrome.history.onVisited 还没有被解雇。

ps:对于function(HistoryItem result),您可能需要将其更改为function(result)

【讨论】:

  • 我的扩展附近没有“活动脚本”:(.
  • 例如你的“background.html”:)。在波兰语 Chrome 中,它被命名为“Zobacz aktywne”,意思是“查看/观看活动”。
  • 也许你应该使用 HTML 来方便调试 ;) 完成调试后,你可以将 .html 更改为 .js(稍加修改)
  • 我已将其更改为 html,添加了所有 html 标签,更改 manifest.json 中的扩展名 - 没有结果。
  • 你检查了 chrome://extensions 顶部的developer mode 吗? (扩展页面)
【解决方案2】:

此响应可能会迟到,但会对其他人有所帮助。如果你的 background.html 有 javascript 错误,那么页面将不会加载(检查)。

要找出您的 background.html 有什么问题,请在 chrome://chrome/extensions/(即管理扩展程序)下单击 background.html 链接。这将加载开发人员工具,但没有 background.html。在窗口的右下角,您会看到一个红色的错误符号,点击它会提供需要修复的行号。

【讨论】:

    猜你喜欢
    • 2018-10-16
    • 2010-12-08
    • 1970-01-01
    • 2012-10-19
    • 2017-03-29
    • 2020-11-03
    • 2017-05-09
    相关资源
    最近更新 更多