将扩展从清单 V2 迁移到 V3
本文列出了作为清单 V3 的一部分实现的重要更改,清单 V3 是 Chromium 扩展平台的下一个版本。 有关将扩展迁移到清单 V3 的指南,请参阅 清单 V3 概述 - Chrome 开发人员。
远程托管代码
目前,扩展代码的某些部分是远程托管的,在验证过程中不会作为扩展包的一部分包括在内。 虽然这提供了在不将扩展重新提交到存储区的情况下更改代码的灵活性,但可以在安装后利用代码。 为了确保 Microsoft Edge 加载项 列出已验证的扩展,Microsoft Edge 扩展团队禁止使用远程托管代码。 此更改使扩展更安全。
开发人员需要打包并提交扩展使用的所有代码以进行验证。 或者,可以在沙盒环境中使用 eval()
函数。
运行时主机权限
在安装时,扩展可能会请求访问所有站点和内容的一揽子权限。 这些权限允许扩展以最少的干预操作,因此存在用户隐私和安全风险。 为了提高透明度,Microsoft Edge 扩展团队提供了一些控件,使用户在运行时允许或限制对网站的访问。
内容脚本中的跨源请求
目前,内容脚本可以请求访问任何源,包括网站不允许的源。 该行为违反了跨源原则。 今后,Microsoft Edge 扩展团队要求内容脚本具有与向其注入脚本的网页相同的权限。 此要求可关闭潜在的安全漏洞。
若要执行跨域请求,需要使用后台脚本将响应中继回内容脚本。 这些更改可用,并且位于标志后面。 有关详细信息,请参阅 Chrome 扩展内容脚本中对跨源请求的更改。
Web 请求 API
Microsoft Edge 扩展团队将 Web 请求 API 替换为 声明性 Net 请求 API,但我们继续保留 Web 请求 API 的观察功能。 我们建议仅使用声明性 Net Request (DNR) API,而不是 Web 请求 API,但在某些特定情况下,扩展需要 Web 请求 API 的观察功能除外。
此更改将对使用功能丰富的声明功能的扩展产生积极影响。 随着更多的扩展转换为声明性 Net 请求 API,此更改将改善用户隐私,从而有助于信任扩展的使用。
对于通过企业策略管理的扩展,企业可以继续使用 Web 请求 API 的阻止行为。 有关扩展策略的详细信息,请参阅 Microsoft Edge 中的 扩展– 策略。
后台服务辅助角色
服务辅助角色可在 Microsoft Edge 的 Canary 预览频道中进行测试。 若要将扩展从后台页迁移到服务辅助角色,请参阅 迁移到服务辅助角色。 Microsoft Edge 扩展团队正在评估和调查此更改对开发人员和用户的影响。
这些更改何时在 Microsoft Edge 中可用
当前的声明性 Net 请求 API 实现在 Microsoft Edge 稳定版和 Beta 版通道中提供。 请测试更改并提供反馈。
Microsoft Edge 扩展团队在我们的博客上发布更新。 可以通过Microsoft技术社区提供有关更改的反馈;请参阅 清单 V3 更改现已在 Microsoft Edge 中提供。