Chrome WebRequest API:如何阻止“设置Cookie”?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Chrome WebRequest API:如何阻止“设置Cookie”?相关的知识,希望对你有一定的参考价值。
我需要阻止来自某个域的所有cookie。 (我无法使用内容设置API,因为FireFox还不支持它)
我现在没有取得很大的成功,我想知道我是否朝着正确的方向前进?
使用WebRequest API,我添加了一个监听器
onHeadersReceived
并确保我的函数返回一个承诺,然后我像这样经历了标题:
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 }
这似乎是最低的开销方式,但到目前为止似乎没有用。我想我可能会走错路。
答案
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"]);
以上是关于Chrome WebRequest API:如何阻止“设置Cookie”?的主要内容,如果未能解决你的问题,请参考以下文章
大家都说Chrome 17的Webrequest API毕业,为啥还要手动开启?
Chrome Extension 的 webRequest模块的解读