Chrome扩展程序:后台和devtool_page通信

时间:2016-01-12 15:25:06

标签: javascript google-chrome google-chrome-extension google-chrome-devtools

因此,我正在为Chrome浏览器开发一个读取标题的扩展程序。 只有background.js能够读取这些标题(从我所理解的,告诉我,如果我错了)。

此扩展程序位于 devtools (F12),这是我清单中的摘录:

    "devtools_page": "devtools.html",
    "permissions": [
        "webRequest", "<all_urls>"
    ],

这个devtool.html有一个调用的devtool.js:

    chrome.devtools.panels.create('test', '/icon.png', '/panel.html', function(extensionPanel) {
        ...
    }

这样我就有了一个panel.html(包含一个panel.js),代表了界面。

问题是:如何从background.js向panel.js发送消息?

到目前为止有效:该面板在devtools中可见,我的html和panel.html和panel.js中的脚本是预期的。我知道如何获得devtool的控制台(CTRL + SHIFT +&#34; I&#34;或#34; J&#34;同时关注devtools)以便进行调试。

注意:只有devtool.js和panel.js在此控制台中记录了console.log()。我无法找到background.js发送console.log()的位置。

我已经测试了https://developer.chrome.com/extensions/messaging#simple的所有内容,也许我做错了。我无法找到如何做到这一点。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我已经解决了我的问题。

这不是它的工作方式:background.js没用。 在panel.js中,我可以调用

chrome.devtools.network.onRequestFinished.addListener(
    function(request) {

可以访问这些标题信息:

        console.log(request.time);
        console.log(request.request.url);
        console.log(request.request.queryString[2]);
        console.log(request.response.status);
        console.log(request.response.headers[3]);