YApi的跨域插件cross-request不能用了,解决方案看这里

2022-12-07 17:58:28 浏览数 (1)

cross-request遇到的问题

最近在使用cross-request插件会收到一些报错信息:

Manifest version 2 is deprecated, and support will be removed in 2023. See https://developer.chrome.com/blog/mv2-transition/ for more details.

以上信息是说Google推出了Manifest version 3的版本,Google认为Manifest V3 比其前身更安全、更高效、更能保护隐私。它是扩展平台的演变,同时考虑了不断变化的网络环境和浏览器扩展的未来。Manifest version 2的版本将会 被淘汰,淘汰的关键时间点如下:

  • 2022 年 1 月 17 日:Chrome 网上应用店将不再接受新的 Manifest V2 扩展。开发人员仍可以推送对现有 Manifest V2 扩展的更新,但不能提交新的 Manifest V2 项目。
  • 2023 年 1 月:Chrome 浏览器将不再运行 Manifest V2 扩展。开发人员可能不再将更新推送到现有的 Manifest V2 扩展。

也就是说到2023年1月份,cross-request插件可能就不能正常运行了,目前cross-request插件还没人维护,无法升级到Manifest version 3的版本。

问题原因

对于Manifest version 3插件,Chrome使用declarativeNetRequest API替代了webRequest API。

在Manifest version 2中,cross-request使用chrome.webRequest相关的API来拦截和修改web请求;

在Manifest version 3中,需要使用chrome.declarativeNetRequestAPI来重新实现。

Manifest version 3对功能上的一些限制:

  • Chrome浏览器根据配置好的规则来阻止和修改网络请求。
  • 扩展程序无法读取和修改请求的实际内容。
  • 如果需要 重定向或修改请求头 ,需要申请相应的host_permissions权限。

这些功能限制可能也会影响cross-request插件的正常运行。

暂时的解决方案

Mozilla说会在Firefox 中保留 WebRequest API,可以使用Firefox浏览器安装cross-request插件来使用。不过需要安装Firefox浏览器。

在 Manifest V3 中,Google 使用 declarativeNetRequest API 取代了 WebRequest API。这一变化使得这类扩展会面临毫无用武之地的尴尬处境。因此 Mozilla 将在 Firefox 中保留 WebRequest API,以确保扩展在提供它们所设计的功能方面不受限制。Mozilla 同样也会实施 declarativeNetRequest API,并在后续版本中继续扩展对 MV3 的兼容性。

安装步骤
  1. 自行下载安装Firefox浏览器。
  2. 在公众号咻咻ing后台回复cross-request获取 插件安装包。
  3. 在Firefox设置中使用文件安装附加 组件的 方式安装扩展。
  1. 如果遇到什么问题,在后台留言交流吧!

0 人点赞