位置:首页 > 行业软件 > 谷歌浏览器更新后跨域CORS插件失效的解决方法

谷歌浏览器更新后跨域CORS插件失效的解决方法

时间:2026-06-06  |  作者:318050  |  阅读:0

Chrome更新到94及以上版本后,不少开发者发现,之前用得好好的Allow CORS、CORS Unblocked这类插件,突然图标变灰、点也没反应,控制台还继续报“blocked by CORS policy”。

这是怎么回事?根源在于Chrome彻底停用了Manifest V2扩展机制。

所有依赖webRequest.blocking或动态注入响应头的旧版CORS插件,在新版浏览器里直接无法加载。

如果你恰好遇到这个问题,下面这几步操作应该能帮你恢复。

启用Manifest V2兼容支持

Chrome 140默认已经不再支持Manifest V2,但好在保留了一个临时开关,可以强制启用。不需要修改注册表,也不用重装浏览器。

操作流程很直接:

  1. 地址栏输入chrome://flags/,回车进入。
  2. 搜索关键词manifest versions,找到「Extension manifest versions」选项,下拉菜单改成Enabled
  3. 继续搜索manifest-v2,把下面的三个选项全部设为Disabled
    • Extension manifest v2 deprecation warning
    • Extension manifest v2 deprecation notification
    • Extension manifest v2 deprecation enforcement
  4. 点击右下角的Relaunch按钮重启浏览器。重启后进入chrome://extensions/,开启「开发者模式」,再手动把原CORS插件启用就行了。

务必关闭浏览器的同步功能,否则重启后云端策略又会把权限覆盖回去。

关闭私有网络拦截策略

如果你是在调用本地服务时遇到问题——比如海康视频插件、本地API调试之类的场景,报错里带“more-private address space `local`”字样,那说明Chrome主动拦截了私有网络请求。

解决方式分两种情况:

方法一:适用于Chrome 94–107版本

直接在flags页面操作。地址栏输入chrome://flags/#block-insecure-private-network-requests,把它设为Disabled,然后Relaunch

方法二:Chrome 108及以上版本必须走命令行

先彻底退出所有Chrome进程——任务管理器里确认没有chrome.exe残留。然后按你的系统运行对应命令:

  • Windows系统:chrome.exe --disable-features=BlockInsecurePrivateNetworkRequests --user-data-dir="C:ChromeDevSession"
  • macOS系统:open -n -a "Google Chrome" --args --disable-features=BlockInsecurePrivateNetworkRequests --user-data-dir="/tmp/chrome_dev_test"

这一步生效后,地址栏下方会提示“您使用的是不受支持的命令行标记”,这意味着策略已经被绕过了。

替代方案:改用声明式规则的新插件

Manifest V3插件没办法像以前那样动态注入CORS头,不过有些新插件采用预设域名白名单加静态响应头注入的方式,在特定场景下还能凑合用。

可以去Chrome网上应用店搜一下CORS ToggleMo' Better CORS,安装后点插件图标,把目标域名(比如http://localhost:3000)加到白名单里。

不过这个方案局限性不小——只对HTTP协议且没触发预检(preflight)的简单GET/POST请求有效。如果你的请求里带了自定义Header,或者Content-Type是application/json,那还是会因为缺少Access-Control-Allow-Headers而失败。

操作完成后,打开开发者工具的Network标签页,点开任意一个被拦截的请求,看看Response Headers里有没有出现access-control-allow-origin: *字段,就能确认是否生效了。

来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多