我正在开发Chrome扩展程序,可以修改响应。
由于webRequest无法直接修改响应,因此我重定向data://
。
chrome.webRequest.onBeforeRequest.addListener(
function (details) {
return {
redirectUrl: 'data:application/javascript;charset=utf-8,' + xxx
}
},
{urls: ["<all_urls>"]},
["blocking"]
)
这是成功的工作。
但是,一旦跨域,它就是错误。
我试着添加这个:
chrome.webRequest.onHeadersReceived.addListener(
function (details) {
const url = details.url
if(details.type == 'xmlhttprequest') {
details.responseHeaders.push({"name":"Access-Control-Allow-Origin","value": "*"})
details.responseHeaders.push({"name":"Access-Control-Allow-Credentials","value":"true"})
}
return {responseHeaders:details.responseHeaders};
},
{urls: ["<all_urls>"]},
["responseHeaders","blocking"]
)
但是显示:
当请求的凭据模式为“include”时,响应中“Access-Control-Allow-Credentials”标头的值为“'必须为”true“。因此,不允许原点“http://www.tryied.com”访问。
现在,我很高兴能解决这个问题吗?