为什么chrome.devtools.network"未定义"?

Blu*_*lub 11 google-chrome-extension google-chrome-devtools

我正在尝试创建一个记录所有网络事件的扩展.这是代码:

manifest.json的:

{
  "name": "My extension",
  "version" : "1.0",
  "background": {
    "scripts": ["background.js"],
    "persistent": true
  },
 "devtools_page": "devtools.html",
 "browser_action": {
    "default_title": "Get it",
    "default_icon" : "icon.png"
  },
  "manifest_version": 2
}
Run Code Online (Sandbox Code Playgroud)

background.js:

chrome.devtools.network.onRequestFinished.addListener(function(request) {});
Run Code Online (Sandbox Code Playgroud)

有什么问题?我尝试了很多东西,看起来我在devtools.html中链接的任何脚本都没有被提取.没有日志,没有什么.只有background.js正在做某事,它似乎不支持chrome.devtools?

Rob*_*b W 10

chrome.devtools.network仅在devtools页面中可用.从API文档devtools(第三个列表项):

chrome.devtools.*API模块只提供给开发人员工具窗口中加载的页面.内容脚本和其他扩展页面没有这些API.因此,API仅在Developer Tools窗口的生命周期内可用.

如果您需要后台页面中的信息,请查看此答案(包括完整代码)以设置通信渠道:Chrome Devpanel Extension与背景页面通信.

  • @Blub但您在后台页面查找了错误消息.如果要查看devtools页面的错误消息,请执行以下步骤:1.打开任何页面的devtools.2.**如果尚未完成,则取消它.3.在devtools实例中打开另一个devtools实例(例如按`F12`).如果你想在devtools页面中进行操作,可以将控制台的上下文更改为`devtools.html`(这可以在devtools窗口的底部完成,默认为`<page context>`). (2认同)