我正在为Shopify CMS开发一个插件。这个插件使用webcomponents.js加载聚合物脚本通过
script.src = "data:text/javascript;charset=utf-8," + encodeURIComponent(scriptContent);
网页组件js/src/HTML导入/解析器. js第307行
在FireFox中,我收到以下错误:
Content Security Policy: The page’s settings blocked the loading of a resource at data:text/javascript;charset=utf-8,/**script code*/(“script-src https://domainurl https://* 'unsafe-inline' 'unsafe-eval'”)
原始内容安全策略头(我不能在服务器上更改此头,因为Shopify是一个托管平台,我没有任何控制权)
Content-Security-Policy:
default-src 'self' https://*;
child-src 'self' https://* blob: data:;
connect-src 'self' https://* wss://*;
font-src 'self' https://* blob: data:;
img-src 'self' https://* blob: data:;
media-src'self' https://* blob: data:;
object-src 'self' https://* blob: data:;
script-src 'self' https://* 'unsafe-inline' 'unsafe-eval';
style-src 'self' https://* 'unsafe-inline';
我正在尝试通过 meta标记重载此标头
<meta http-equiv="Content-Security-Policy" content="
default-src * data: 'unsafe-inline' 'unsafe-eval';
script-src * data: 'unsafe-inline' 'unsafe-eval';
" />
是否可以通过 meta标记重载头值?
1条答案
按热度按时间igetnqfo1#
我发现无法管理内容安全策略。
我已经修补了webcomponents.js文件。我已经删除了
script.src = "data:text/javascript;charset=utf-8," + encodeURIComponent(scriptContent);
。现在我按script.textContent加载脚本。