AdSense 广告拦截检测测试
目录
AdSense 广告拦截检测测试
这个页面基于掘金文章的方法来检测广告拦截器,主要通过检测 Google AdSense 元素的内容来判断。
🎯 检测原理
根据掘金文章的方法,我们通过以下方式检测广告拦截:
- AdSense 元素检测:检查
ins.adsbygoogle
元素的内容是否为空 - 元素隐藏检测:检查具有广告相关类名的元素是否被隐藏
- 脚本加载检测:检查 Google Ads 脚本是否正常加载
- 网络请求检测:测试对广告服务器的请求是否被阻止
📊 实际 AdSense 广告位
下面是真实的 Google AdSense 广告位:
横幅广告
矩形广告
🔧 测试说明
正常情况(无广告拦截器)
- AdSense 广告位会显示占位符或实际广告
- 检测脚本不会触发弹窗
- 控制台显示"未检测到广告拦截器"
广告拦截器启用
- AdSense 广告位会被隐藏或显示为空
- 2-3秒后会弹出友好的提示信息
- 控制台显示检测到的方法
📱 如何测试
- 安装广告拦截器:推荐使用 uBlock Origin 或 AdBlock Plus
- 启用拦截器:确保广告拦截功能已开启
- 刷新页面:重新加载此页面
- 观察效果:等待 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]
🔍 调试信息
如果您想查看详细的检测过程,请:
- 打开浏览器开发者工具(F12)
- 切换到 Console 标签页
- 刷新页面查看检测日志
⚠️ 重要说明
- 检测准确性:系统使用多种方法交叉验证,需要至少2种方法确认才会显示提示
- 用户体验:提示信息设计得友好且非强制性,不会影响正常浏览
- 会话管理:每个浏览器会话只显示一次提示,避免重复打扰
📈 技术实现
基于掘金文章的核心代码:
window.onload = function() {
setTimeout(function() {
var ad = document.querySelector("ins.adsbygoogle");
if (ad && ad.innerHTML.replace(/\s/g, "").length == 0) {
// 显示广告拦截提示
showAdBlockNotification();
}
}, 2000);
};
我们在此基础上增加了:
- 多种检测方法的组合
- 更友好的用户界面
- 双语支持
- 会话管理
- 调试功能
提示:这个测试页面帮助验证基于掘金文章方法的广告拦截检测功能。如果检测正常工作,启用广告拦截器后应该会看到相应的提示信息。