0
我试图修改的请求的请求体显示在谷歌文档的研究工具。我能够触发每个匹配的请求,并拉取form_data请求体,但我没有看到修改请求体并将其传递的任何方式。我需要做的就是将docs-show_reference改为false。修改请求体
阻断请求不起作用,因为页面然后再次启动请求,导致一个循环。我似乎无法正确修改请求标头以阻止请求,因为唯一需要更改的内容位于form_data请求主体内。它也不会出现,它是在所有可能通过chrome.webRequest
该扩展还阻断所有文档的地址(也工作),返回修改的请求主体。
下面是我使用的代码(即启动重定向循环)。 manifest.json中的所有权限和配置也正常工作。
chrome.webRequest.onBeforeRequest.addListener(
function(info) {
var request = info.requestBody;
if (info.url.indexOf(chrome.runtime.id) > -1) {
console.log("popup: %s",info.url);
return;
}
if (info.url.indexOf("docs.google.com") > -1){
if (request && request.formData && request.formData.preferences && request.formData.preferences[0] == '{"docs-show_reference":true}') {
return {cancel:true};
} else {
return {cancel:false};
}
}
if (info.url.indexOf('gstatic') > -1) {
return {cancel:false};
}
console.log("blocked: %s",info.url);
return {redirectUrl:chrome.extension.getURL("blocked.png")};
},
// filters
{
urls: [
"<all_urls>"
]
},
// extraInfoSpec
["blocking", "requestBody"]
);