Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 接收到chrome.webRequest.onheaders后的chrome.tabs.sendMessage不工作_Javascript_Google Chrome_Google Chrome Extension - Fatal编程技术网

Javascript 接收到chrome.webRequest.onheaders后的chrome.tabs.sendMessage不工作

Javascript 接收到chrome.webRequest.onheaders后的chrome.tabs.sendMessage不工作,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我正在尝试创建一个新的chrome扩展,将响应标题中接收到的数据传输到当前选项卡,以便在网页上显示它们 为此,我使用chrome.webRequest.onHeadersReceived侦听器来检索和解析数据。之后,我想通过chrome.tabs.sendMessage传输此信息,但它不起作用 manifest.json { "manifest_version": 2, [...] "background": {

我正在尝试创建一个新的chrome扩展,将
响应标题中接收到的数据传输到当前选项卡,以便在网页上显示它们

为此,我使用
chrome.webRequest.onHeadersReceived
侦听器来检索和解析数据。之后,我想通过
chrome.tabs.sendMessage
传输此信息,但它不起作用

manifest.json

{
    "manifest_version": 2,
    [...]
    "background": { 
        "scripts": ["js/background.js"],
        "persistent": true
    },
    "content_scripts": [
        {
          "matches": ["<all_urls>"],
          "css": ["css/style.css"],
          "js": ["js/jquery.js", "js/content.js"]
        }
      ],
    "permissions": [
        "background", 
        "webRequest",
        "tabs",
        "activeTab",
        "<all_urls>"
    ]
}
通过执行此代码,永远不会触发警报


感谢您的帮助:)

content.js文件中的警报消息将在收到消息时发出警报。要在后台文件chrome tabs.query中发送消息,应执行onHeadersReceived事件。但tabs.query和webRequest.onHeadersReceived的位置似乎已更改。顺序是background.js从url和access选项卡查询中获取请求以发送消息

background.js
chrome.webRequest.onHeadersReceived.addListener(函数(响应)){
chrome.tabs.query({active:true,currentWindow:true},函数(tabs){
response.responseHeaders.forEach(元素=>{
chrome.tabs.sendMessage(tabs[0].id,元素);
});
});
},{
网址:[
""
]

},[“负责人])完全不需要chrome.tabs.query,因为响应不一定在活动选项卡中。使用
response.tabId