Google chrome extension chrome.browserAction.setIcon()不适用于内容安全策略
我已经在我的Chrome扩展中添加了功能,这样图标按钮在单击时会改变颜色。代码很简单: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.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'
添加到您的策略中。