Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.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 修改onHeadersReceived上的标题_Javascript_Google Chrome Extension_Cross Domain - Fatal编程技术网

Javascript 修改onHeadersReceived上的标题

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

在我的chrome扩展中,我需要在浏览的每个站点的标题中添加一行。在background.js文件中,我添加了这样的代码:

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也不会在开发人员工具中显示修改过的标题。