以编程方式修改外部样式表中的样式

时间:2018-07-22 03:38:21

标签: javascript css content-security-policy

方案::您正在将内容发布到内容管理系统(考虑一些常见的博客服务)。您可以添加自己的样式表和脚本,但是页面的大部分内容都在您的控制之下 not ,并且无法对其进行更改。

在CSS中有一条规则,说

ul { color: red; }

但是,该服务已安装“基本”样式表,内容为

ul.fancy { color: green !important; }

现在,如果您希望{em> all 全部ul为红色,则必须使用自己的名称手动覆盖

ul.fancy { color: red !important; }

您可以继续这样做,但不久后它就会成为维护噩梦。删除这些规则会容易得多!虽然您可以将其样式表复制到个人存储中,删除烦人的位并重写style标签以指向您的新样式表(使用JS),但是如果他们将来更新其基本样式表,则会出现问题,因为更改将不会被保留。

几乎幸运的是,我们拥有CSSStyleSheet API,您可以使用它来删除违规规则。除了...基本样式表是从不同的域中加载的,而不是网站的其余部分,因此(在Firefox和Chrome中),您无法使用API​​访问该样式表的规则。 (它适用于嵌入式样式表,但不适用于来自不同域的样式表。)

问题:是否可以使用Java删除或修改从其他域加载的CSS样式?

0 个答案:

没有答案