广告拦截。添加 css 类或从元素中删除属性

问题描述 投票:0回答:5

是否可以通过adblock向某个页面的元素添加css规则? 像这样的东西

#myElement {
    color: white !important;
}

我试图找到一个在页面加载时更新此元素样式的脚本,但这似乎不是最好的方法。

adblock
5个回答
40
投票

可以在 uBlock Origin 和 Adguard 上做到这一点(据我所知)。每个都有自己的样式规则语法,但 uBlock 能够理解这两者。


以下是更改 Twitter 背景的 CSS 规则示例:

twitter.com#$#body.logged-in{ background-color: #8c8787 !important; }

样式过滤器应该像这样构造:

<domain> + #$# + <selector> + { <style> }

避免在选择器和左大括号之间放置空格。因为它会给你带来一些麻烦。参考:

https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#style https://adguard.com/en/filterrules.html#cosmetic-css-rules


17
投票

其他答案对我不起作用,但有一种方法可以更改元素的样式:

example.com##h1:style(background-color: blue !important)

确保不要使用大括号。

GitHub 上还有一些文档。

编辑:正如 BeeLabeille 提到的,这个建议似乎是针对 uBlock 的。


-1
投票

我认为 AdBlock 不可能更改 CSS 属性,但您可以使用像 Stylish(适用于 Firefox 和 Chrome)这样的扩展来做到这一点。



-2
投票

对于 AdBlock Plus,您可以尝试以下操作:

##.ytp-pause-overlay, .ytp-scroll-min
##.html5-endscreen, .ytp-player-content, .videowall-endscreen, .ytp-endscreen-paginate, .ytp-show-tiles
##.ytp-endscreen-content

这应该会禁止在暂停期间显示广告,并在视频结束时禁止显示推荐视频。

PS:啊..这不是问题的主题..这将从 div 元素中删除该类。好吧,也许有人会派上用场,删除 Youtube 播放器中不必要的块。

© www.soinside.com 2019 - 2024. All rights reserved.