首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将我的Chrome扩展迁移到Manifest v3时出错

将我的Chrome扩展迁移到Manifest v3时出错
EN

Stack Overflow用户
提问于 2021-12-03 10:36:39
回答 1查看 1.2K关注 0票数 0

我想迁移我的Chrome扩展到清单V3。

content_security策略在清单V2上如下所示:

{..。

"content_security_policy":“脚本-src 'self‘’sha256-.‘;object-src 'self'”

}

注意,我使用的是sha-256值,这是最具体的属性。

此外,我还使用这个工具进行了“半官方”转换。

当我将清单转换为V3,然后更新扩展时,我将得到以下错误。我不明白为什么它被认为是一个不安全的CSP值,而它在Manifest V2上被接受,并且被认为是安全的,可以使用代码的指定哈希值。

我怎样才能克服它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-03 17:40:46

在清单MV3中,CSP是一个对象,但是在错误中它是一个字符串,因此需要重新格式化它。

来自移徙指南:的示例和说明

V2

代码语言:javascript
运行
复制
"content_security_policy": "..."

V3

代码语言:javascript
运行
复制
"content_security_policy": {
  "extension_pages": "...",
  "sandbox": "..."
}
  • extension_pages:此策略涵盖扩展名中的页面,包括html文件和服务工作人员。

这些页面类型是从chrome-extension://协议中提供的。例如,扩展中的一个页面是chrome-extension://<extension-id>/foo.html

重要!

此外,MV3不允许对extension_pages进行某些MV2允许的CSP修改。脚本-src、object-src和worker-src指令可能只有以下值:

对于沙箱的CSP修改没有这样的新限制。

通过本指南,扩展页似乎不允许具有sha-256值。但这些都是典型的内联脚本。您可以将脚本保存为一个js文件,然后使用<script/>标记从那里加载它;这将不需要CSP策略。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70212940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档