目录

AdSense 广告拦截检测测试

AdSense 广告拦截检测测试

这个页面基于掘金文章的方法来检测广告拦截器,主要通过检测 Google AdSense 元素的内容来判断。

🎯 检测原理

根据掘金文章的方法,我们通过以下方式检测广告拦截:

  1. AdSense 元素检测:检查 ins.adsbygoogle 元素的内容是否为空
  2. 元素隐藏检测:检查具有广告相关类名的元素是否被隐藏
  3. 脚本加载检测:检查 Google Ads 脚本是否正常加载
  4. 网络请求检测:测试对广告服务器的请求是否被阻止

📊 实际 AdSense 广告位

下面是真实的 Google AdSense 广告位:

横幅广告

矩形广告

🔧 测试说明

正常情况(无广告拦截器)

  • AdSense 广告位会显示占位符或实际广告
  • 检测脚本不会触发弹窗
  • 控制台显示"未检测到广告拦截器"

广告拦截器启用

  • AdSense 广告位会被隐藏或显示为空
  • 2-3秒后会弹出友好的提示信息
  • 控制台显示检测到的方法

📱 如何测试

  1. 安装广告拦截器:推荐使用 uBlock Origin 或 AdBlock Plus
  2. 启用拦截器:确保广告拦截功能已开启
  3. 刷新页面:重新加载此页面
  4. 观察效果:等待 2-3 秒查看是否出现弹窗

🚫 预期的弹窗内容

当检测到广告拦截器时,会显示以下消息:

中文版本:

标题:检测到广告拦截器
内容:请允许我们网站的广告。看起来您正在使用广告拦截器。我们依靠广告来资助网站运营并提供优质内容。
按钮:[我知道了] [禁用后刷新页面]

English Version:

Title: Ad Blocker Detected
Content: Please allow ads on our site. Looks like you're using an ad blocker. We rely on advertising to help fund our site and provide quality content.
Buttons: [I understand] [Refresh page after disabling]

🔍 调试信息

如果您想查看详细的检测过程,请:

  1. 打开浏览器开发者工具(F12)
  2. 切换到 Console 标签页
  3. 刷新页面查看检测日志

⚠️ 重要说明

  1. 检测准确性:系统使用多种方法交叉验证,需要至少2种方法确认才会显示提示
  2. 用户体验:提示信息设计得友好且非强制性,不会影响正常浏览
  3. 会话管理:每个浏览器会话只显示一次提示,避免重复打扰

📈 技术实现

基于掘金文章的核心代码:

window.onload = function() {
    setTimeout(function() {
        var ad = document.querySelector("ins.adsbygoogle");
        if (ad && ad.innerHTML.replace(/\s/g, "").length == 0) {
            // 显示广告拦截提示
            showAdBlockNotification();
        }
    }, 2000);
};

我们在此基础上增加了:

  • 多种检测方法的组合
  • 更友好的用户界面
  • 双语支持
  • 会话管理
  • 调试功能

提示:这个测试页面帮助验证基于掘金文章方法的广告拦截检测功能。如果检测正常工作,启用广告拦截器后应该会看到相应的提示信息。