在内容安全策略生效时使用JS应用样式

时间:2013-05-10 13:46:45

标签: css content-security-policy

我正在尝试使用Javascript设置元素的背景颜色,并且我的内容安全策略为style-src 'self'

我可以通过Javascript执行$(el).css("display", "none")之类的操作,但$(el).css("background-color", "#FFF")因CSP而失败。当我尝试el.style.backgroundColor = "#FFF"时会发生同样的情况。

#FFF实际上来自数据库,所以我无法将其放入静态CSS文件中。有没有什么方法可以动态设置背景颜色而不允许所有内联样式?

1 个答案:

答案 0 :(得分:1)

问题最终是el位于由Tooltipster管理的块内。 Tooltipster在显示之前克隆工具提示的内容,因此即使样式实际上已在原始el上成功设置,当克隆插入DOM时,浏览器看到该元素具有样式标记,并且阻止了它。