2017-12-18 7 views
0

特定のドメインのすべてのCookieをブロックする必要があります。 (FireFoxはまだそれをサポートしていないので、私はコンテンツ設定APIを使用できません)Chrome WebRequest API:「Set-Cookies」をブロックする方法は?

私は今私が持っていることで大成功を収めていません、私は正しい方向に行くのだろうか?

function modifyHeaders(headers: HttpHeader[]) { 
    headers.forEach((header: HttpHeader) => { 
     if (header.name === "set-cookie") { 
      /* makeExpire sets "Expires= sometimeInThePast" */ 
      header.value = makeExpire(header.value!) 
     } 
    }) 
} 

modifyHeaders(headers); 
return { responseHeaders: headers } 

これはのように思える:WebRequestのAPIを使用して

が、私は

onHeadersReceived 

にリスナーを追加し、私の関数が約束を返したことを確認しました、私はそのようにのようなヘッダを行ってきましたそれを行う最も低いオーバーヘッド方法ですが、これまでのところはうまくいかないようです。私は間違った道を歩いているかもしれないと思う。

+0

リスナーを登録するコードは表示されません。余分なオプションに '['blocking'、 'responseHeaders']'を指定してください。 P.S.この些細な事件でなぜプロミスが必要なのか分かりません。 – wOxxOm

答えて

1
function onHeadersReceived(details) { 
    if (details.responseHeaders) { 
     return { 
      responseHeaders: details.responseHeaders.filter((x) => { 
       return x.name.toLowerCase() !== 'set-cookie'; 
      }) 
     }; 
    } 
    return {}; 
} 
browser.webRequest.onHeadersReceived.addListener(onHeadersReceived, { urls: ["<all_urls>"] }, ["responseHeaders", "blocking"]); 
関連する問題