方案::您正在将内容发布到内容管理系统(考虑一些常见的博客服务)。您可以添加自己的样式表和脚本,但是页面的大部分内容都在您的控制之下 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样式?