让你的网站防广告屏蔽
前言
相信小伙伴们对广告是又爱又恨,一方面不想接受广告的荼毒,另一方面也想接点广告赚点流量收益。由此而来衍生出了两个技术,屏蔽广告与防屏蔽广告。
屏蔽广告
防屏蔽
原理
我们要想做到网站广告不被人屏蔽,首先就要理解屏蔽广告的原理。
1.初阶屏蔽
含ad,推广等字样的js或者class类就直接拦截或者不显示
2.高阶屏蔽
我也不会,但是高阶屏蔽肯定是可以屏蔽低阶广告的。
那么根据这个原理,我们可以发现。只要我们写一个很low很low的广告,然后监听它是否成功加载,如果没有,则跳转页面或者不显示内容。
实现
1. 制造广告
先写一个一眼就能看出来是广告的js文件,例如把js文件名命名
为"adview_pic_cpc_cpm_cpa_guanggao_gg_ads_300x250.js"。广告二字赤裸裸的写着,广告的韵味呼之欲出。
2. 定义变量
在js里面定义一个变量,比如:
var adskilltest=true;
3. 监听广告变量
页面文件中读取该变量
不管怎么样,只要被拦截,那就肯定是undefined。让个极其肤浅的广告命名,来检测是否有屏蔽广告,这叫引蛇出洞!
大功告成!
4. 后续操作
既然被拦截,就要做出点反应。有了反应之后呢,还需要保存当时浏览的页面连接。我的解决方法是写一个noads.html
负责显示被拦截后的内容以及保存跳转前的链接。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>温馨提示</title>
</head>
<body>
<p>网站内容被识别为广告,已被屏蔽。请禁用广告屏蔽后点击下面链接哦!</p>
<a href="#" id="a">我已关闭广告屏蔽功能</a>
</body>
<script>
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
document.getElementById("a").href = getQueryVariable('route');
</script>
</html>
tips: 该方法不是最优,但是可行!
版权声明: (https://www.thinkmoon.cn/post/816)
本文首发于指尖魔法屋-让你的网站防广告屏蔽
转载或引用必须申明原指尖魔法屋来源及源地址!