我正在为Chrome编写扩展程序,我希望通过此插件我可以修改Chrome HTTP请求标头
所以我希望用户能够自定义他们的头,然后当chrome发送HTTP请求时,首先拦截请求,然后为用户自定义配置,根据配置修改请求头,然后发送。
但是在这个过程中,我遇到了一些问题,当我截获chrome请求时,我会得到这次用户配置,但似乎得到用户配置需要一些时间,总是当HTTP请求有访问用户配置时离开了,我不知道。如何让用户访问此操作的配置被阻止,只有当它完成后才会拦截HTTP请求以便放手
这是拦截HTTP请求的代码:
(请原谅我可怜的英语:P,非常感谢〜)
chrome.webRequest.onBeforeSendHeaders.addListener(function(details){
var headers = details.requestHeaders,
blockingResponse = {};
// now I am trying to modify blockingRequest
chrome.storage.local.get(null, function(results) {
for(var result in results){
headers.push({"name":result, "value":results[result]});
}
}); // but the code above is useless.
// if you print the new headers , you will find the new headers doesn't change.
blockingResponse.requestHeaders = headers;
return blockingResponse;
},
{urls: [ "<all_urls>" ]},['requestHeaders','blocking']);
&#13;