如何屏蔽纽约时报网页的「More to Discover」新功能?
如何屏蔽纽约时报网页的「More to Discover」新功能?
嘿,我来帮你搞定这个烦人的「More to Discover」模块!之前也被它打扰过,分享几个亲测有效的方法,你可以挨个试试:
用uBlock Origin添加精准过滤规则(最推荐,不用额外装工具)
你之前用uBlock没成功大概率是规则没找对,试试这个:- 点击浏览器右上角的uBlock Origin图标,再点齿轮形状的「设置」按钮
- 切换到「My filters」标签页
- 粘贴下面两行规则:
nytimes.com##div[data-testid="more-to-discover-container"] nytimes.com##div[data-testid="bottom-recirc"] - 点击页面顶部的「Apply changes」,刷新NYT的文章页面,这个模块应该就消失了。
自己定位元素写规则(万一上面的规则失效)
如果NYT改了元素属性,你可以自己用浏览器的开发者工具定位:- 在Opera里打开文章页面,右键点击「More to Discover」模块,选择「检查」
- 在弹出的Elements面板里,找到这个模块的根容器,看它的
class或者data-testid这类属性(比如可能是class="css-xxxx") - 把对应的选择器加到uBlock的自定义过滤规则里,格式是
nytimes.com##[你的选择器],比如nytimes.com##.css-xxxx
用Tampermonkey脚本动态隐藏(适合喜欢折腾的朋友)
如果模块是动态加载的,脚本可以自动监听并隐藏:- 先给Opera装Tampermonkey扩展
- 点击Tampermonkey图标,选择「创建新脚本」
- 替换默认代码为下面这段:
// ==UserScript== // @name Hide NYT More to Discover // @namespace http://tampermonkey.net/ // @version 0.1 // @description 隐藏纽约时报文章底部的「More to Discover」模块 // @author You // @match https://www.nytimes.com/* // @grant none // ==/UserScript== (function() { 'use strict'; // 监听页面变化,确保模块加载后立即隐藏 const observer = new MutationObserver((mutations) => { const target = document.querySelector('[data-testid="more-to-discover-container"], [data-testid="bottom-recirc"]'); if (target) { target.style.display = 'none'; observer.disconnect(); } }); observer.observe(document.body, { childList: true, subtree: true }); })(); - 保存脚本,以后打开NYT文章就会自动屏蔽这个模块了。
顺便说下,之前禁用JS没用是因为这个模块是页面加载后动态生成的,但禁用JS会搞坏整个网站的功能,完全没必要;用「查看源代码」找不到是因为动态元素不会出现在初始的HTML源码里,用开发者工具的「检查」才能看到实时渲染的元素~
备注:内容来源于stack exchange,提问作者j03y_
相关产品推荐
相关产品推荐

