Javascript 修改onHeadersReceived上的标题
在我的chrome扩展中,我需要在浏览的每个站点的标题中添加一行。在background.js文件中,我添加了这样的代码:Javascript 修改onHeadersReceived上的标题,javascript,google-chrome-extension,cross-domain,Javascript,Google Chrome Extension,Cross Domain,在我的chrome扩展中,我需要在浏览的每个站点的标题中添加一行。在background.js文件中,我添加了这样的代码: var responseListener = function(details){ var rule = { "name": "Access-Control-Allow-Origin", "value": "*" }; details.responseHeaders.push(rule); return {re
var responseListener = function(details){
var rule = {
"name": "Access-Control-Allow-Origin",
"value": "*"
};
details.responseHeaders.push(rule);
return {responseHeaders: details.responseHeaders};
};
chrome.webRequest.onHeadersReceived.addListener(responseListener,
{urls: [ "*://*/*" ] },
["blocking", "responseHeaders"]);
在调试过程中,会调用处理程序,并且新添加的头成功地通过我在堆栈上部找到的任何过滤器。但它不会出现在网络选项卡的响应标题部分,也不会影响任何代码。我使用以下权限:
"tabs","<all_urls>", "http://*/*" ,"webRequest","webRequestBlocking", "webNavigation"
“选项卡”、“http://*/*”、“webRequest”、“webRequestBlocking”、“webNavigation”
是否有一个新的政策或API被改变,不允许做这样的事情,或者在我的10行代码中有一些错误?Chrome开发者工具的网络选项卡没有显示扩展的修改。看
如果您希望查看您的分机是否已成功修改请求,请访问
chrome://net-internals/#events
,单击类型为URL\u request
的请求,并查找URL\u request\u DELEGATE
条目,例如创建的URL\u request\u FAKE\u RESPONSE\u HEADERS(这是通过API生成的日志条目的一个示例)或“delegate_info=“extension[extension name]”
(由生成)。您尝试过其他标题吗?另外,请注意文档中的这一点:“对于每个请求,只有一个扩展可以修改响应标头“是的,我关闭了其他标题,并尝试添加具有不同名称的标题。您尝试使用的其他标题是否有效?请尝试运行chrome.webRequest.handlerBehaviorChanged()
在注册侦听器之后。@Xan,不,他们也没有。我试图修改现有的once并删除其中的一些,但它也不起作用。我添加了'chrome.webRequest.handlerbhaviorchanged();'但这并没有改变任何东西(调用处理程序,但不影响任何内容)感谢分享如此有用的知识!Firefox也不会在开发人员工具中显示修改过的标题。