JS判断网页广告是否被浏览器拦截过滤的代码
本来现在投广告赚钱也不像前几年好做,现在还大部分浏览器都拦截了广告,很多浏览器还是默认拦截广告,做站长不是一般辛苦啊!目前中小站长大部分收入还是靠广告,广告被拦截,收入自然会大大减少。
目前大部分浏览器的广告拦截规则都是广告黑名单+一些广告字眼匹配,比如百度联盟、搜狗联盟、Google联盟这些就算在广告黑名单里的,一般广告过滤都会过滤掉这些广告联盟代码。剩下的就是广告字眼匹配,比如js地址包含ads.php、ad.js甚至是gg.js都可能会被过滤,360浏览器甚至会把包含ad.gif、960x90.jpg带有广告字眼的图片地址都会屏蔽掉。如果我们自己投放自定义的广告,一定要尽量避免这些广告字眼。
面对广告被拦截,让浏览器把你的网站加入白名单,不可能!让浏览器取消广告拦截功能更不实际。我们只能是尽量减少损失了,下面火端网络写了个JS判断网页广告是否被浏览器拦截过滤的代码,经过使用多款浏览器测试,基本上都能准确判断。这样我们可以通过判断,然后提示用户关闭广告拦截功能,或者用自定义广告替换原来的广告,再或者来个狠点的直接让用户无法访问(不建议这样做)。
判断代码如下:
<script src="http://demo.jb51.net/js/2015/adview_pic_cpc_cpm_cpa_guanggao_gg_ads_300x250.js" type="text/javascript"></script> <script type="text/javascript"> if (typeof(killads)=='undefined'){alert('广告被过滤');} </script>
其实这个js文件的内容就是一个函数判断语句
var killads = true;
其中的adview_pic_cpc_cpm_cpa_guanggao_gg_ads_300x250.js可以下载下来,但文件名请不要修改。
相关推荐
-
ajax不执行success回调而是执行了error回调
附上代码如下: JScript code: 复制代码 代码如下: $.ajax({ type: "post", url: "jsp/loginManager.jsp", data: "name=" + $('#rname').attr('value') + "&pwd=" + $('#pwd').attr('value'), dataType: "text", success: function(d
-
window.open关于浏览器拦截问题分析及解决方法
window.open是javascript函数,该函数的作用是打开一个新窗口或这改变原来的窗口,不过一般用来的是打开新窗口,因为修改原来的网页地址,可以有另一个函数,那就是window.location,他可以重定向网页地址,使网页跳转到另一个页面. 我现在要说的是window.open函数的几个使用策略,一般情况下,如果你直接在js中调用window.open()函数去打开一个新窗口,浏览器会拦截你,认为你将弹出广告等用户不想得到的窗体,所以如果不想让浏览器拦截你,你可以将这个函数改为用户点
-
window.open被浏览器拦截后的自定义提示效果代码
现在越来越多的浏览器有拦截弹出窗口的功能.广告弹出来给拦掉了就无所谓,要是客户在付款时给拦掉了可就不能乱算了. Gmail的"哎呀"算是经典,可是,前天心云给出了更帅的提示=.= 记得打开浏览器拦截后 测试一下,在线阅读器里不知道代码会不会给过滤..代码在下边,其实没什么技术含量滴.挖哈哈... 复制代码 代码如下: window._open=window.open; window.open=function(sURL,sName,sFeatures,bReplace){ if
-
模拟用户点击弹出新页面不会被浏览器拦截
相信用过window.open的小伙伴们都遇到过被浏览器拦截导致页面无法弹出的情况:我们换下思路,什么情况下的新页面弹出才不会被浏览器拦截呢?比如<a />标签这种就不会:那么我们只要模拟下用户去主动点击这个<a />标签就不会有拦截的问题了. 先定义好HTML标签: 复制代码 代码如下: <a href="" id="alink" target="_blank" style="display: none&
-
在Java的Struts中判断是否调用AJAX及用拦截器对其优化
Strut2判断是否是AJAX调用 1. AJAX与传统Form表单 实际上,两者一般都是通过HTTP的POST请求.区别是浏览器提交Form表单后,期望服务器返回一个完整的HTML页面.而AJAX调用是由XMLHttpRequest对象(不同浏览器可能不一样)发出,浏览器期望服务器返回HTML片段即可,具体是JSON.XML等都没有要求.返回到浏览器后如何使用,也是由JS脚本自己决定的. 2. 请求是不是AJAX 那么对于服务器端,如何判断一个HTTP请求是不是AJAX调用?这需要看H
-
ajax回调打开新窗体防止浏览器拦截有效方法
ajax回调打开新窗体防止浏览器拦截,就这么做! 问题剖析: function click_fun(){ window.open("www.baidu.com");//能打开 $.ajax({ 'url': '${pageContext.request.contextPath}/activity/savePrizes.htm', 'type': 'post', 'dataType': 'json', 'data': data, success: function (data) { wi
-
Jquery版本导致Ajax不执行success回调函数
对于使用ajax来请求数据已经不是第一次使用(一直觉得也就那么回事),就在昨天居然遇到了一个问题?项目中需要用到ajax来进行数据的请求,于是三下五除二的将ajax代码拷贝到项目中,前端,后台数据处理完毕,测试(心想可以休息下下了),谁知数据成功返回.前端没报错,后台也没错,硬是没有执行success回调函数,心凉了一半. 接下来就是找原因,查看原先代码,百度,json格式检查,终于发现问题所在 罪魁祸首居然是Jquery版本所引起的. Jquery版本:jquery-1.9.0.min.js
-
ajax回调函数参数传递正确方法
属性方法是可以带参数: 复制代码 代码如下: function ClassX(name) { this.name = name; ClassX.prototype.show = function (param) { alert(this.name + " " + param); }; } var o = new ClassX("name"); o.show("param");//name param 但是,上面是虽然是直接在函数签名中定义了参考,
-
js 弹出新页面避免被浏览器、ad拦截的一种新方法
以绑定click弹窗的方式,改为普通的链接,即 a[target=_blank],在点击打开新窗口之前,修改其href. 绑定mousedown,鼠标点击执行完成前修改href. 绑定focus,保证tab切换+enter时替换href. 复制代码 代码如下: <input type="search" id="keyword" value="" autocomplete="off" placeholder="请
-
ajax请求成功后新开窗口window.open()被拦截解决方法
问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限制),即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所
随机推荐
- PowerShell小技巧之读取Windows产品密钥
- jQuery ctrl+Enter shift+Enter实现代码
- JavaScript提高加载和执行效率的方法
- centos7.2搭建LAMP环境的具体操作方法
- Java并发编程(CyclicBarrier)实例详解
- 了解Java虚拟机JVM的基本结构及JVM的内存溢出方式
- Python fileinput模块使用介绍
- c语言main函数使用及其参数介绍
- BootStrap智能表单实战系列(八)表单配置json详解
- 理解javascript async的用法
- canvas绘制的直线动画
- 使用Limit参数优化MySQL查询的方法
- jQuery Validate表单验证插件 添加class属性形式的校验
- java计算时间差的方法
- Android开发之DOM解析xml文件的方法
- Spring向页面传值和接受页面传过来的参数详解
- Asp.net简单实现给图片增加文字水印
- Android Build类的详解及简单实例
- 使用xmlHttp结合ASP实现网页的异步调用
- C++去除输入行中空白的方法