这是我第一次制作Chrome扩展程序,我认为我的javascript / jQuery没有加载。
这些是来自不同文件的脚本。
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>
<script src="popup.js"></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>
<!--<script src='https://cdnjs.cloudflare.com/ajax/libs/amcharts/3.21.0/amcharts.js'></script>-->
<script src="more.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.1.min.js"></script>
<script src="options.js"></script>
这是我的Github repo。
另外我想远程访问jQuery我不想自己托管它。
我正在使用一堆API,如reddit,stackexchange,cryptonator,bitcointalk(非官方)。 也许我必须在manifest.json中声明这些或jQuery?
这是我的manifest.json文件。
{
"manifest_version": 2,
"name": "TheMoneroPug",
"short_name":"MoneroPug",
"author": "Karthik",
"version": "1.0.0",
"version_name": "1.0.0",
"description": "A Chrome extension for viewing Monero price(for traders)",
"icons": {"128":"main/128.png"},
"browser_action": {
"default_icon": {
"16": "main/16.png",
"48": "main/48.png"
},
"default_title": "TheMoneroPug",
"default_popup": "main/popup.html"
},
"options_ui": {
"page": "setting/options.html",
"chrome_style": true
},
"background": {
"scripts": [
"main/popup.js",
"more/more.js",
"setting/options.js"
]
},
"permissions": [
"storage"
]
}
我没有任何background.html文件弹出浏览器操作。 错误是jQuery显示$未定义和错误
因为它违反了以下内容安全策略指令:“script-src'self'blob:filesystem:chrome-extension-resource:”
如何解决此问题?
答案 0 :(得分:0)
您需要将您正在使用的jQuery CDN添加到清单中内容安全策略允许的站点。
默认情况下,只允许扩展中包含的脚本,并且在安装时下载整个扩展名,使用CDN没有任何优势。