网站谷歌广告联盟被屏蔽检测JS代码,JS判断网页广告被屏蔽,广告终结者、AdGuard插件判断并提示
做网站,尤其是刷路由器固件类型的网站,没有额外的收入,只有一点广告费收入,但是这种网站的大部分用户群体就是刷固件屏蔽广告的,也就是基本全部是都是广告拦截插件。
我一般不会开启这些东西,我现在来测试这些安装了开启了广告过滤。确实挺厉害的。全拦截了。特别是谷歌广告全给屏蔽了。
自己创建这个博客也只是因为兴趣原因,不求有什么收益,一直以来很纠结是否要在网站上挂点儿广告什么的,挂广告必然会影响用户的体验,但是我也不想因为服务器费用亏得太多,索性还是挂点不碍眼的广告弥补一下损失。然而,由于浏览器各种屏蔽广告插件的出现,广告内容根本无法显示( ╯□╰ )。
关于本站投放的谷歌联盟广告
首先网站上的adsense广告只有几处,而且不影响网站整个阅读和风格,但是从统计系统来看,大约有1/3的用户的用户使用了adblock等插件导致广告无法展示,较为影响网站的收入(毕竟我几台服务器也要费用的),所以想做adblock检测,当发现用户安装了类似插件时提示用户(提示内容类似youku)将本站列入白名单什么的。
JS针对性性判断广告是否被拦截
我针对性观察了下,广告屏蔽和不屏蔽的区别,来看看下面的张图。上面是被屏蔽,下面是无屏蔽有广告的 HTML 代码。
是不是就有思路了?
这个是 google 广告,加载都是用<ins>标签,class="adsbygoogle",我们就简单的判断下ins标签的内容为空,为了判断减少误判,我们判断所有的都为“”,就已经屏蔽了。
var as = document.querySelectorAll('.adsbygoogle'),al=as.length; as.forEach(function(a,b){ if(a.innerHTML==''){ al-=1; if(al===0){ setInterval(function () { alert('很抱歉,网页内容无法正常显示,因为我们发现你似乎启用了广告屏蔽功能,我们的网站的正常运行离不开广告收入的支撑,请见谅。'); },3e3); } } });
完全有效,缺点就是要针对性。
最近发现对于一些访问量比较低的页面,默认是不显示广告的,这就导致了<ins>标签内容为空,导致一直提示弹窗,非常影响用户体验。
JavaScript 引入文件检测广告插件
AdGuard 是根据文件名来判断的,网上有方案,比如说我们自己创建一个文件名为一些常用广告的文件名。
我们创建一个文件名为“adview_pic_cpc_cpm_cpa_guanggao_gg_ads_300x250.adsbygoogle.js”的 JS 文件,文件内容,我们定义一个全局变量。
window.ads = 'sojson.v4';
然后在这个JS下面加入以下代码:
<script src="//cdn.www.sojson.com/ad/adview_pic_cpc_cpm_cpa_guanggao_gg_ads_300x250.adsbygoogle.js"></script> <script> if(typeof(ads) == 'undefined'){ setInterval(function () { alert('很抱歉,网页内容无法正常显示,因为我们发现你似乎启用了广告屏蔽功能,我们的网站的正常运行离不开广告收入的支撑,请见谅。'); },3e3); } </script>
但是我再安装了比较火“广告终结者”发现此方案无效。我观察了一下,“广告终结者”是通过域名来判断的。
检测变量adskilltest是否存在即可判断广告是否被屏蔽
链接: https://pan.baidu.com/s/15vqFtegsheEB6QN-EtQCeA提取码: k6wb
运行效果如下(代码在最后):
点击链接加入群聊三群:751529538
点击链接加入群聊二群:376877156
点击链接加入群聊【路由器交流群:622891808已满】
本站附件分享,如果附件失效,可以去找找看
饿了么红包