在Chrome 扩展清单 v3 中,不再允许远程托管代码。迁移文档有两种解决方案。
配置驱动的特性和逻辑——在这种方法中,您的扩展在运行时加载远程配置(例如 JSON 文件)并在本地缓存配置。然后,扩展使用此缓存配置来决定启用哪些功能。
使用远程服务将逻辑外部化——考虑将应用程序逻辑从扩展程序迁移到您的扩展程序可以调用的远程 Web 服务。(本质上是消息传递的一种形式。)这使您能够保持代码的私密性并按需更改代码,同时避免重新提交到 Chrome 网上应用店的额外开销。
有人看过这两种配置的样本吗?
起初,鉴于此错误,我试图弄乱 CSP,但现在认为这甚至不可能,因此该错误首先有点误导。
Refused to load the script 'https://code.jquery.com/jquery-3.5.1.slim.min.js' because it violates the following Content Security Policy directive: "script-src 'self'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.
这是我试图开始工作的 CSP 政策,现在怀疑是否会奏效。
"content_security_policy": {
"script-src": "'self' 'unsafe-eval' https://unpkg.com https://code.jquery.com https://stackpath.bootstrapcdn.com https://cdn.jsdelivr.net/ https://cdn.datatables.net https://cdnjs.cloudflare.com https://cdn.rawgit.com; object-src 'self'"
},
这有一个非常好的堆栈溢出线程,但它是针对 manifest v2.2 的。
谢谢