ICode9

精准搜索请尝试: 精确搜索
首页 > 互联网> 文章详细

JS判断网页广告被屏蔽解,广告终结者、AdGuard插件判断并提示

2020-04-28 10:34:49  阅读:1491  来源: 互联网

标签:js 广告终结者 插件 AdGuard 判断 


做网站,尤其是IT类型的网站,没有额外的收入,只有一点广告费收入,但是这种网站的大部分用户群体就是程序员,也就是我们这种程序员大部分会安装“广告终结者”、“AdGuard”等广告拦截插件。


我一般不会安装这些东西,我现在来测试这些安装了这些软件。确实挺厉害的。全拦截了。

JavaScript 引入文件检测广告插件

AdGuard 是根据文件名来判断的,网上有方案,比如说我们自己创建一个文件名为一些常用广告的文件名。

我们创建一个文件名为“adview_pic_cpc_cpm_cpa_guanggao_gg_ads_300x250.adsbygoogle.js”的  JS  文件,文件内容,我们定义一个全局变量。

window.ads = 'sojson.v4';

然后在这个JS下面加入以下代码:

  1. <script src="//cdn.www.sojson.com/ad/adview_pic_cpc_cpm_cpa_guanggao_gg_ads_300x250.adsbygoogle.js"></script>
  2. <script>
  3. if(typeof(ads) == 'undefined'){
  4. setInterval(function () {
  5. alert('如果本站的广告您要屏蔽的话。抱歉,咱们相互选择吧。\n\n请对本站屏蔽广告插件关掉。\n\n本站的广告如果有对您使用本站工具有影响,请告知我。\n\n如果没有,还请多多照顾,点点感兴趣的广告。\n\n解决办法:关闭屏蔽,刷新网页就解决了。');
  6. },3e3);
  7. }
  8. </script>

如果用户安装了“AdGuard”插件,那么会提示下面的内容,并且3秒显示一次。


但是我再安装了比较火“广告终结者”发现此方案无效。我观察了一下,“广告终结者”是通过域名来判断的。

JS针对性性判断广告是否被拦截

我针对性观察了下,广告屏蔽和不屏蔽的区别,来看看下面的张图。上面是被屏蔽,下面是无屏蔽有广告的  HTML  代码。


是不是就有思路了?

这个是  google  广告,加载都是用<ins>标签,class="adsbygoogle",我们就简单的判断下ins标签的内容为空,为了判断减少误判,我们判断所有的都为“”,就已经屏蔽了。

  1. var as = document.querySelectorAll('.adsbygoogle'),al=as.length;
  2. as.forEach(function(a,b){
  3. if(a.innerHTML==''){
  4. al-=1;
  5. if(al===0){
  6. setInterval(function () {
  7. alert('如果本站的广告您要屏蔽的话。抱歉,咱们相互选择吧。\n\n请对本站屏蔽广告插件关掉。\n\n本站的广告如果有对您使用本站工具有影响,请告知我。\n\n如果没有,还请多多照顾,点点感兴趣的广告。\n\n解决办法:关闭屏蔽,刷新网页就解决了。');
  8. },3e3);
  9. }
  10. }
  11. });

完全有效,缺点就是要针对性。

标签:js,广告终结者,插件,AdGuard,判断,
来源: https://www.sojson.com/blog/307.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有