Google chrome extension chrome.browserAction.setIcon()不适用于内容安全策略

Google chrome extension chrome.browserAction.setIcon()不适用于内容安全策略,google-chrome-extension,manifest,content-security-policy,Google Chrome Extension,Manifest,Content Security Policy,我已经在我的Chrome扩展中添加了功能,这样图标按钮在单击时会改变颜色。代码很简单: chrome.browserAction.setIcon({path:"icon_pink_lines.png", tabId:tab.id}); 然而,我花了一段时间才弄明白这一点,因为当在manifest.json中设置了content\u security\u策略时,它就不起作用了。我本来有 "content_security_policy": "default-src 'none'; script

我已经在我的Chrome扩展中添加了功能,这样图标按钮在单击时会改变颜色。代码很简单:

chrome.browserAction.setIcon({path:"icon_pink_lines.png", tabId:tab.id});
然而,我花了一段时间才弄明白这一点,因为当在manifest.json中设置了content\u security\u策略时,它就不起作用了。我本来有

 "content_security_policy": "default-src 'none'; script-src 'self'"
问题是,如果去掉这个,我会损失什么?或者只是为了改变图标而做的其他事情?老实说,我只是从一些示例清单文件中复制了原始策略,此后就没有考虑过它

如果您没有自己设置,则有一个针对
内容安全的策略:

脚本src'self';对象src“self”

不过你的更紧。它不允许加载任何外部资源(而默认策略不允许仅加载外部脚本)。您的
图标\u pink\u linkes.png
似乎被视为外部资源,并被CSP阻止。这看起来像一个bug,您可以报告它(我搜索了类似的bug,但没有找到任何)。

如果您没有自己设置,则有一个for
内容安全策略:

脚本src'self';对象src“self”


不过你的更紧。它不允许加载任何外部资源(而默认策略不允许仅加载外部脚本)。您的
图标\u pink\u linkes.png
似乎被视为外部资源,并被CSP阻止。这看起来像一个bug,你可以报告它(我搜索过类似的bug,但没有找到任何)。

default src'none'
将为
img src
设置默认源代码列表。由于未指定
img src
,它会返回到默认源列表,该列表显示“不允许任何内容,muwahaha”。要允许图像,您可以允许
'self'
作为默认源(例如
默认src'self'
),或者将
img src'self'
添加到您的策略中。
default src'none'
将为
img src
设置默认源代码列表。由于未指定
img src
,它会返回到默认源列表,该列表显示“不允许任何内容,muwahaha”。要允许图像,您可以允许
'self'
作为默认源(例如
默认src'self'
),或者将
img src'self'
添加到您的策略中。