【发布时间】:2023-03-20 19:08:01
【问题描述】:
我们编写了一个 Chrome 扩展,它使用 onBeforeSendHeaders 事件为每个 Web 请求添加一个 cookie:
chrome.webRequest.onBeforeSendHeaders.addListener(addCookie, {
urls: ["<all_urls>"]
}, ["blocking", "requestHeaders"]);
function addCookie(details) {
if (details.url.match(/ourWebsite/)) {
details.requestHeaders.forEach(function (requestHeader) {
if (requestHeader.name.toLowerCase() === "cookie") {
//Code that adds a cookie with a value
}
});
return {requestHeaders: details.requestHeaders};
}
}
除了我自己的以外,它在每个人的 Chrome 上都能正常工作。在调试扩展时,我注意到details.requestHeaders 数组没有cookie 标头(这总是错误的:requestHeader.name.toLowerCase() === "cookie")。
我的第一个想法是另一个扩展程序搞砸了我们的,所以我尝试隐身(不允许其他扩展程序)但它不起作用。
在扩展程序的清单中,permissions 下有“cookies”和“webRequest”。
有什么想法吗?提前致谢!
【问题讨论】:
-
@wOxxOm 不是
Set-Cookie响应头吗?我们正在尝试修改请求标头
标签: javascript cookies google-chrome-extension http-headers