You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除Disqus恶意成人视频广告?旧拦截代码已失效

Disqus成人广告拦截解决方案(适配最新广告系统)

核心解决方案:精准DOM监听+广告元素定位

Disqus更新广告投放逻辑后,旧方案依赖的iframe标识、加载顺序已失效,以下是针对性的拦截代码:

1. JS动态拦截方案(避免误删评论区)

使用MutationObserver实时监听评论区DOM变化,精准识别广告元素并移除:

// 监听Disqus评论区的动态DOM变化
const disqusObserver = new MutationObserver((mutations) => {
  mutations.forEach(() => {
    // 移除带广告域名的iframe
    document.querySelectorAll('iframe').forEach(iframe => {
      const src = iframe.src;
      // 匹配当前Disqus广告常用域名,可根据实际情况补充
      if (src && /(ads\.disqus\.com|disqusads\.com|ad\.doubleclick\.net)/i.test(src)) {
        iframe.parentElement.remove(); // 移除广告容器,避免残留空白
      }
    });
    // 移除广告专属容器元素
    document.querySelectorAll('.disqads-container, .adsbydisqus').forEach(el => el.remove());
  });
});

// 启动监听:目标为Disqus评论区根容器
const disqusRoot = document.getElementById('disqus_thread');
if (disqusRoot) {
  disqusObserver.observe(disqusRoot, { childList: true, subtree: true });
}

优势:相比定时扫描的setInterval,MutationObserver能实时响应广告加载,且通过域名/类名精准定位,不会误删主评论区。

2. CSS辅助隐藏(解决广告短暂闪现问题)

配合JS使用CSS提前隐藏广告元素,避免页面加载时广告短暂显示:

/* 全局隐藏Disqus广告相关元素 */
.disqads-container,
.adsbydisqus,
iframe[src*="ads.disqus.com"],
iframe[src*="disqusads.com"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
}

旧方案失效原因说明

  • 旧代码依赖的ads-iframe/disqusads关键词已从广告iframe的src中移除,Disqus更换了广告投放域名
  • 按索引(i===0 || i===2)删除iframe的逻辑极不稳定,Disqus的iframe加载顺序会随页面环境变化,导致误删主评论区

内容的提问来源于stack exchange,提问作者Laurentje

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 00:05:07