Chrome WebRequest API:如何阻塞"Set-Cookies"?
Chrome WebRequest API: How to block "Set-Cookies"?
我需要阻止来自某个域的所有 cookie。 (我不能使用内容设置 API,因为 FireFox 还不支持它)
我现在并没有取得很大的成功,我想知道我的方向是否正确?
使用 WebRequest API,我添加了一个侦听器
onHeadersReceived
并确保我的函数返回了一个承诺,然后我像这样经历了 headers:
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"]);
我需要阻止来自某个域的所有 cookie。 (我不能使用内容设置 API,因为 FireFox 还不支持它)
我现在并没有取得很大的成功,我想知道我的方向是否正确?
使用 WebRequest API,我添加了一个侦听器
onHeadersReceived
并确保我的函数返回了一个承诺,然后我像这样经历了 headers:
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"]);