Chrome WebRequest API:如何阻止“设置Cookie”?

问题描述 投票:0回答:1

我需要阻止来自某个域的所有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 }

这似乎是最低的开销方式,但到目前为止似乎没有用。我想我可能会走错路。

google-chrome-extension firefox-webextensions
1个回答
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"]);
© www.soinside.com 2019 - 2024. All rights reserved.