2013-12-17 27 views

回答

3

可以使用chrome.webRequest API用於這一目的。你將需要:

  1. 中聲明你的清單中的適當的權限:

     
    ... 
    "permissions": [ 
        ... 
        "webRequest", 
        "*://*.google.com/*" 
    ] 
    
  2. 註冊一個偵聽器chrome.webRequest.onHeadersReceived()事件和修改標題。爲了能夠修改標題,你需要定義「responseHeaders響應」額外的信息(見監聽功能的3參數):

     
    chrome.webRequest.onHeadersReceived.addListener(function(details) { 
        console.log(details); 
        details.responseHeaders.push({ 
         name: 'X-Auth', 
         value: 'abc123' 
        }); 
        return { responseHeaders: details.responseHeaders }; 
    }, { 
        urls: ['*://*.google.com/*'] 
    }, [ 
        "responseHeaders" 
    ]); 
    
  3. 記住的webRequest許可只適用,如果你的背景 - 頁面是永久性的,所以從你的清單中刪除相應的行(如果存在的話 - 它應該):

     
    ... 
    "background": { 
        "persistent": false, // <-- Remove this line or set it to `true` 
        "scripts": [...] 
        ... 
    

另外,請記住,漂亮往往摹oogle根據用戶的國家/地區重定向請求(例如,重定向www.google.comwww.google.gr),在這種情況下,過濾器不會讓他們到達您的onHeadersReceived監聽器。

+0

感謝您的回答。我已經實現了它。事件正在觸發,但是當我使用'print_r(apache_request_headers());'轉儲標題時,我看不到標題。任何想法可能會導致它? – Aley

+0

你說你想修改響應頭(這就是我的答案中的代碼)。您正在使用'print_r(apache_request_headers());'檢查請求標頭,因此這裏沒有任何變化。畢竟你想達到什麼目的? – gkalpak

+0

的確,我想在用戶瀏覽時設置一個額外的標題,例如google.com,因此google.com通過X-Auth標頭收到請求。 – Aley

相關問題