首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在正常的chrome扩展中调用chrome.devtools.* api调用而无需在浏览器中打开devtools

如何在正常的chrome扩展中调用chrome.devtools.* api调用而无需在浏览器中打开devtools
EN

Stack Overflow用户
提问于 2016-08-03 03:24:38
回答 1查看 967关注 0票数 2

我正在尝试构建一个常规的chrome浏览器扩展(,而不是,一个开发工具扩展),当在特定页面上激活它时,它会获得请求资源的所有IP的列表。我知道如何通过调用chrome.devtools.network.getHAR()从devtools_page日志中获取这个列表,然后将HAR日志消息传递给一个后台脚本。但是,您只能从devtools页面中调用chrome.devtools.*,它只存在于浏览器中打开的devtools窗口的生存期内。我不想仅仅为了在devtools.js中调用这个函数而打开devtools。有没有办法调用chrome.devtools。*例如从background.js调用,而不必在浏览器中打开devtools?

下面是现在发生的事情:

代码语言:javascript
复制
// background.js
chrome.runtime.onConnect.addListener(function(port) {
  console.assert(port.name == "somePort");
  port.onMessage.addListener(function(msg) {
      console.log(msg.content);
  });
});

代码语言:javascript
复制
// devtools.js
chrome.devtools.network.getHAR(function(harLog) {
  var port = chrome.extension.connect({name: "somePort"});
  port.postMessage({content: harLog});
});

代码语言:javascript
复制
//manifest.json
"devtools_page": "devtools.html",
"background": {
    "scripts": [
        "background.js"
    ],
    "persistent": false
 }
EN

回答 1

Stack Overflow用户

发布于 2016-08-03 10:33:35

不幸的是, api without opening up devtools window.

chrome.devtools.* API模块只对加载在DevTools窗口中的页面可用。内容脚本和其他扩展页没有这些API。因此,API仅在DevTools窗口.的生存期内才可用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38733845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档