我正在开发 Google Chrome 扩展程序。在其中一个文件中,HTML 通过 CDN 调用外部脚本。我知道我需要在清单中提及相同内容,以免违反内容安全政策。在浏览了之前与同一主题相关的一些问题后,我发现答案不适合我,我不知道为什么?另外,我想提一下,我正在开发新的 manifest 版本 3。
这是我从 HTML 文件调用的 CDN:-
<script src="https://ajaxorg.github.io/ace-builds/src-min-noconflict/ace.js" type="text/javascript" charset="utf-8"></script>
下面是我在manifest.json中编写的获取权限的代码:-
"content_security_policy": {
"extension_pages": "script-src 'self'; object-src 'self'; script-src-elem 'self' 'unsafe-inline' https://ajaxorg.github.io/;"
},
下面是我在控制台窗口中遇到的错误:-
我是一个致力于扩展的完全初学者,所以如果有人指导我,这将非常有帮助。预先感谢!
为了提高安全性,Chrome 在 Manifest V3 扩展程序或任何其他使用远程托管 JavaScript 的方式中删除了对 CDN 的支持。
他们推荐了一些解决方案:
scripting.executeScript()
时将它们添加到文件数组中。您仍然可以在运行时远程加载数据:
chrome.scripting.executeScript({
target: {tabId: tab.id},
files: ['jquery.min.js']
});
<script src="./jquery.min.js"></script>