访问扩展的 background.js 的控制台和开发工具

问题描述 投票:0回答:9

我刚开始使用 Google 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"
  ]
}

背景.js:

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

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

debugging google-chrome-extension console google-chrome-devtools
9个回答
431
投票

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

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

  1. 访问
    chrome://extensions/
    或右键单击扩展程序图标并选择“管理扩展程序”。
  2. 启用开发者模式
  3. 单击名为
    background page
    (ManifestV2)或
    service worker
    (ManifestV3)的链接。

ManifestV2 扩展的截图:

ManifestV3 扩展的截图:


16
投票

我有同样的问题,在我的例子中,日志记录在 Chrome 开发者工具的控制台选项卡中设置为“全部隐藏”。 我什至没有意识到这是一个选项,我不记得将其关闭


9
投票

对于希望查看其 chrome 扩展的“内容脚本”的调试控制台的关注者,可以通过执行正常的“显示开发人员控制台”然后使用下拉箭头选择其“javascript 环境”来获得访问其方法等


7
投票

另外

如果您想在

manifest.json
中查看content_script

js文件(当“背景”属性未设置时)
"content_scripts": [{
    "matches": ["<all_urls>"],
    "js": ["popup.js"],
  }]

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

然后右键单击扩展图标并单击Inspect popup和开发者窗口打开popup.html打开,在那里你看到控制台选项卡。


4
投票

类似于 Michiel 的回答,我也有一个有趣的控制台配置:我不记得设置的过滤器:

清除过滤器后,我看到了消息。


1
投票

其他答案适用于 background.js 但是,如果您正在从弹出窗口中寻找 console.logs 那么您可以尝试:

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

我正在使用 cra 进行开发,这对我有用。


0
投票

我也有这个问题。好像我的网页没有更新到新保存的脚本。这是通过在 chrome 浏览器中按

Ctrl
+ 刷新(或
Ctrl
+
F5
)来解决的。


0
投票

如果我们想从弹出页面读取打印到控制台的消息,我们可以点击扩展图标打开弹出页面,然后右键点击弹出页面的任意位置,会显示一个下拉菜单,我们只需点击“检查”菜单打开开发者工具。请注意,弹出页面必须保持打开状态。如果它被关闭(通过window.close()),开发者工具也将被关闭。


0
投票

对于那些为 Firefox 开发扩展的人:

TL;DR 版本:您需要使用 Ctrl+Shift+J 调出浏览器控制台窗口,然后单击右上角的设置图标并确保选中“显示内容消息”。

相关 stackoverflow 问题的详细解释:How do I see the console.log output of a background script in a Firefox WebExtension?

© www.soinside.com 2019 - 2024. All rights reserved.