如何在Tampermonkey中根据内部SPAN移除含Promoted的DIV
解决LinkedIn推广内容隐藏的Tampermonkey脚本问题
需求与问题
作为Tampermonkey新手,想要隐藏LinkedIn页面中所有包含显示“Promoted”文本SPAN标签的外层DIV。目标HTML结构如下:
<div> <div class="relative"> <div class="ember-view occludable-update "> <span aria-hidden="true">Promoted</span> <span class="visually-hidden">Promoted</span> </div> </div> </div>
尝试了以下脚本但未生效:
// ==UserScript== // @name LinkedIn Ad block // @namespace http://tampermonkey.net/ // @version 0.4 // @description I always want my LinkedIn feed in chronological order! // @include https://linkedin.com/* // @include https://www.linkedin.com/* // @exclude https://www.linkedin.com/tscp-serving/* // @grant none // @run-at document-idle // @require https://gist.githubusercontent.com/BrockA/2625891/raw/9c97aa67ff9c5d56be34a55ad6c18a314e5eb548/waitForKeyElements.js // ==/UserScript== ('div.relative.ember-view:has(span:contains("Promoted"))').remove();
问题根源
- 语法错误:直接用字符串调用
remove()是无效的JavaScript语法,没有正确使用DOM或jQuery方法。 - 选择器错误:
div.relative.ember-view表示同时拥有这两个类的单个div,但实际这是两个嵌套的div,选择器逻辑不匹配HTML结构。 - 未处理动态内容:LinkedIn的feed是滚动加载的,静态执行脚本无法捕获后续加载的推广内容,必须用
waitForKeyElements监听动态出现的元素。
修复后的脚本
以下脚本可以正确隐藏推广内容:
// ==UserScript== // @name LinkedIn Ad block // @namespace http://tampermonkey.net/ // @version 0.5 // @description 隐藏LinkedIn推广内容,恢复时间线顺序! // @include https://linkedin.com/* // @include https://www.linkedin.com/* // @exclude https://www.linkedin.com/tscp-serving/* // @grant none // @run-at document-idle // @require https://gist.githubusercontent.com/BrockA/2625891/raw/9c97aa67ff9c5d56be34a55ad6c18a314e5eb548/waitForKeyElements.js // ==/UserScript== // 监听所有包含"Promoted"文本的span元素(包括动态加载的) waitForKeyElements('span:contains("Promoted")', function(spanElement) { // 根据HTML结构,找到需要移除的最外层div const targetDiv = spanElement.closest('div.ember-view').parentNode.parentNode; // 移除该div targetDiv.remove(); });
脚本说明
- 利用
waitForKeyElements监听页面中所有动态出现的、包含"Promoted"文本的span元素。 - 通过
closest方法找到span所在的ember-view类div,再向上遍历两层父元素,定位到要移除的最外层div。 - 调用
remove()方法直接删除整个推广内容容器。
内容的提问来源于stack exchange,提问作者kuruvi
相关产品推荐
相关产品推荐

