Javascript 接收到chrome.webRequest.onheaders后的chrome.tabs.sendMessage不工作
我正在尝试创建一个新的chrome扩展,将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.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
。