chrome 扩展解决 前台跨域问题

您所在的位置:网站首页 谷歌插件修改 chrome 扩展解决 前台跨域问题

chrome 扩展解决 前台跨域问题

2023-12-09 23:58| 来源: 网络整理| 查看: 265

后台可以修改网络请求,使用 chrome.webRequest.onHeadersReceived API,给每个请求的 response headers 都添加 Access-Control-Allow-Origin : *,那么前台发出的所有请求都可以跨域。(如果此请求本来就有这个标头,就先删掉然后添加)

先在 manifest.json 里申请权限:

permissions": ["webRequest", "webRequestBlocking", "*://*/*" ]

然后在后台代码(background.js)里修改网络请求:

function removeMatchingHeaders(headers: any, regex: any) { for (var i = 0, header; (header = headers[i]); i++) { if (header.name.match(regex)) { headers.splice(i, 1); console.log('Removing header "' + header.name + '":"' + header.value + '"'); return; } } } function responseListener(details: any) { removeMatchingHeaders(details.responseHeaders, /access-control-allow-origin/i); details.responseHeaders.push({ name: 'Access-Control-Allow-Origin', value: '*' }); return { responseHeaders: details.responseHeaders }; } chrome.webRequest.onHeadersReceived.addListener(responseListener, { urls: ['*://*/*'] }, [ 'blocking', 'responseHeaders', 'extraHeaders' ]);

可以根据自己需要把网址范围 😕//* 修改一下,避免影响所有网络请求。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3