天天看點

Chrome浏覽器插件之篡改HTTP的Head

通過上一篇部落格​​Chrome 浏覽器插件之監控網頁位址​​,我們隊chrom浏覽器插件已經有了一個基本了解了,那麼下面我們将增加一個新需求?統計頁面跳轉源,也就是http 的Header裡面的一個字段:Referer,如果請求標頭不存在的時候我們就增加這個字段。

是以我麼參考​​定制HTTP請求響應頭域​​這篇文章,我們知道我們需要在請求頭發送的時候攔截和修改,是以我們在background.js裡面增加如下事件:

// 在web請求頭裡面增加reffer字段
chrome.webRequest.onBeforeSendHeaders.addListener(
  function(details) 
  {
  var bfind = false;
    for (var i = 0; i < details.requestHeaders.length; ++i) 
  {
      if (details.requestHeaders[i].name === 'Referer' ||
    details.requestHeaders[i].name === 'referer')
    {
      //bfind = true;
      //details.requestHeaders[i].value = 'test demo';
        break;
      }
    }
  
  //if(!bfind)
  //{
  //  var obj = new Object();
  //  obj.name = "Referer";
  //  obj.value = 'test demo111';
  //  details.requestHeaders.push(obj);
  //}
    
    return {requestHeaders: details.requestHeaders};
  },
  {urls: ["<all_urls>"]},
  ["blocking", "requestHeaders"]);