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"]
);