我刚开始使用谷歌Chrome扩展,我似乎不能从我的后台js登录到控制台。当发生错误时(例如,由于语法错误),我也找不到任何错误消息。

我的清单文件:

{
  "name": "My First Extension",
  "version": "1.0",
  "manifest_version": 2,
  "description": "The first extension that I made.",
  "browser_action": {
    "default_icon": "icon.png"
  },
  "background": {
    "scripts": ["background.js"]
  },
  "permissions": [
    "pageCapture",
    "tabs"
  ]
}

background.js:

alert("here");
console.log("Hello, world!")

当我加载扩展,警报出现,但我没有看到任何被记录到控制台。我做错了什么?


当前回答

你找错地方了。这些控制台消息不会出现在web页面中,而是出现在不可见的后台页面(ManifestV2)或service worker (ManifestV3)中。

要查看正确的控制台,打开devtools后台脚本的上下文:

访问chrome://extensions/或右键单击扩展图标并选择“管理扩展”。 启用开发人员模式 单击名为后台页面(ManifestV2)或service worker (ManifestV3)的链接。

ManifestV2扩展的截图:

ManifestV3扩展的截图:

其他回答

如果我们想从弹出式页面读取打印到控制台的消息,我们可以单击扩展图标打开弹出式页面,然后右键单击弹出式页面的任何地方,下拉菜单将显示,我们只需单击“检查”菜单打开开发人员工具。注意,弹出页面必须一直打开。如果它被关闭(通过window.close()),开发人员工具也将被关闭。

另一个答案(s)工作(s)为background.js,但如果你正在寻找控制台。从弹出的日志,然后你可以尝试:

var bkg = chrome.extension.getBackgroundPage();
bkg.console.log('foo');

我使用cra进行开发,这对我来说很有效。

你找错地方了。这些控制台消息不会出现在web页面中,而是出现在不可见的后台页面(ManifestV2)或service worker (ManifestV3)中。

要查看正确的控制台,打开devtools后台脚本的上下文:

访问chrome://extensions/或右键单击扩展图标并选择“管理扩展”。 启用开发人员模式 单击名为后台页面(ManifestV2)或service worker (ManifestV3)的链接。

ManifestV2扩展的截图:

ManifestV3扩展的截图:

另外

如果你想在manifest.json中看到content_script js文件(当“background”属性未设置时)

"content_scripts": [{
    "matches": ["<all_urls>"],
    "js": ["popup.js"],
  }]

"browser_action": {
    "default_icon": "icon_32.png",
    "default_popup": "popup.html"
  }

然后右键单击扩展图标,点击检查弹出和开发人员窗口打开popup.html打开,在那里你看到控制台选项卡。

我也有这个问题。似乎我的网页没有更新到新保存的脚本。这个问题通过在chrome浏览器中按Ctrl + refresh(或Ctrl + F5)来解决。