2015-12-24 179 views
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"] 
); 

回答

1

Issue 91191,我們不能在瀏覽器擴展程序修改表單數據了。