如何在uBlock中配置全局规则以隐藏所有网站的页脚元素?
如何在uBlock中配置全局规则以隐藏所有网站的页脚元素?
嘿,我完全懂你现在的困扰——给每个网站手动加页脚隐藏规则真的太繁琐了!别担心,uBlock其实有很实用的全局规则写法,而且不用你懂复杂的技术,我给你一步步讲清楚:
核心问题先理清
你之前试的*##.footer-parent只在old.reddit生效,不是*这个通配符没用,而是这个规则只针对**类名为footer-parent**的元素生效——只有reddit用了这个类名,其他网站的页脚用的是p-footer、orb-footer这类不同的类名,所以自然只在reddit起作用。我们需要的是能匹配所有网站里「可能是页脚」的元素的通用选择器。
三种实用的全局规则写法
1. 直接匹配<footer>标签(最简单,覆盖大部分网站)
很多正规网站的页脚会用HTML原生的<footer>标签,直接写这条全局规则就能隐藏所有这类页脚:
*##footer
2. 匹配类名里包含footer的元素(覆盖更多自定义类名的网站)
如果有些网站不用<footer>标签,而是用自定义类名(比如你遇到的.p-footer、.orb-footer),可以用CSS属性选择器匹配所有类名里带footer的元素:
*##[class*="footer"]
这个规则的意思是:所有网站中,类名(class)包含footer字符串的元素都会被隐藏。几乎能覆盖90%以上的页脚场景,偶尔可能会误杀一些类名带footer但不是页脚的元素,但概率极低。
3. 同时匹配类名和ID里的footer(更全面)
有些网站的页脚会用ID而不是类名(比如<div id="site-footer">),可以把类和ID的规则合并,这样覆盖范围更广:
*##[class*="footer"], *##[id*="footer"]
怎么添加这些规则?
- 点击浏览器工具栏里的uBlock图标,打开控制面板
- 切换到「我的规则」标签
- 在「临时规则」(测试用)或者「永久规则」(长期生效)的输入框里输入上面的规则
- 点击「应用更改」或者「保存」按钮就生效了
小技巧:遇到漏网的页脚怎么办?
如果某个网站的页脚没被上面的规则隐藏,直接右键点击页脚区域,选择「uBlock Origin → 阻止元素」,uBlock会自动识别该元素的选择器,你可以把这个选择器加到全局规则里,或者调整现有规则来覆盖它。
备注:内容来源于stack exchange,提问作者Ralf_Reddings




