gpt4 book ai didi

javascript - 为什么 requestHeaders 未定义?

转载 作者:行者123 更新时间:2023-11-28 03:16:37 27 4
gpt4 key购买 nike

我正在制作一个记录请求 header 的 Chrome 扩展。

在我的background.js文件中我有这个代码

chrome.webRequest.onSendHeaders.addListener(function(res){
res.requestHeaders.forEach(header => {
headers.push(header)
})
}, {urls : ["<all_urls>"]})

但是 res.requestHeaders 返回未定义(无法读取未定义的 forEach 属性)

最佳答案

应该在addListener的第三个参数中指定:

chrome.webRequest.onSendHeaders.addListener(
fn,
{urls: ['<all_urls>']},
['requestHeaders']);

要修改响应,您需要在参数中添加“blocking”,并在 list 权限中添加“webRequestBlocking”,请参阅 webRequest documentation了解更多信息。

要在现代版本的 Chrome 中处理特殊 header (cookiereferer 等),您还需要指定 extraheaders ,如果您想支持旧版本的 Chrome,请按以下步骤操作:

chrome.webRequest.onSendHeaders.addListener(fn, {
urls: ['<all_urls>'],
}, [
'blocking',
'requestHeaders',
chrome.webRequest.OnSendHeadersOptions.EXTRA_HEADERS,
].filter(Boolean));

关于javascript - 为什么 requestHeaders 未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59589642/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com