网站谷歌广告联盟被屏蔽检测JS代码,JS判断网页广告被屏蔽,广告终结者、AdGuard插件判断并提示

2020-06-18
0评论
/
1349阅读
爱搜啊

做网站,尤其是刷路由器固件类型的网站,没有额外的收入,只有一点广告费收入,但是这种网站的大部分用户群体就是刷固件屏蔽广告的,也就是基本全部是都是广告拦截插件。

我一般不会开启这些东西,我现在来测试这些安装了开启了广告过滤。确实挺厉害的。全拦截了。特别是谷歌广告全给屏蔽了。

网站谷歌广告联盟被屏蔽检测JS代码

自己创建这个博客也只是因为兴趣原因,不求有什么收益,一直以来很纠结是否要在网站上挂点儿广告什么的,挂广告必然会影响用户的体验,但是我也不想因为服务器费用亏得太多,索性还是挂点不碍眼的广告弥补一下损失。然而,由于浏览器各种屏蔽广告插件的出现,广告内容根本无法显示( ╯□╰ )。

关于本站投放的谷歌联盟广告

首先网站上的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

运行效果如下(代码在最后):

JS检测广告被屏蔽出现提示窗口


本站附件分享,如果附件失效,可以去找找看

诚通网盘附件百度网盘附件


标签: js 谷歌广告
于2020-06-18发布