解决这个问题最简单的方法是直接添加属性,而不是使用内联样式;
<path id="path14" style="fill:#354a8e;fill-opacity:1;fill-rule:nonzero;stroke:none" d="L 4424.6,237.121">
至:
<path id="path14" fill="#354a8e" fill-opacity="1" fill-rule="nonzero" stroke="none" d="L 4424.6,237.121">
不只是专门针对 SVG,不是。 CSP 不允许这种类型的精细控制。你能做的是:
1)使用 CSP 随机数
2)使用类或 ID(以及样式表中相应的 CSS)
3)使用JavaScript直接修改CSS https://stackoverflow.com/a/29089970/339440
折衷方案可能是允许内联样式属性,但不允许样式标签。
这可以通过 CSP 来完成,如下所示:
style-src-elem: 'none';
style-src-attr: 'unsafe-inline';
这样,更危险的
<style>
标签仍然会被阻止,但 style=...
属性是允许的。