$(function(){ var clearAd = { //由于manifest文件匹配规则只有通配没有非功能,所以可在此处添加不想删除广告的页面 checkUrl: function() { var Checkflag = 0, url = window.location.href; //手动添加不需要清除广告的域 var notDel = [ "www.baidu.com", "taobao.com", "tmall.com", "jd.com" ]; //正则匹配 for (var i = 0; i < notDel.length; i++) { var reg = new RegExp(notDel[i], "g"); if (reg.test(url)) { console.log('This page does not clear ads.'); break; } else { if (i == notDel.length - 1) { Checkflag = 1; } } } if (Checkflag == 1) { this.clear(); this.findSomeAdPossible(); } }, clear: function() { //此处可手动添加广告框id名,去除顽疾ad必备 var ad_id_name = [ "ads", "y1Z3925", "top_ads", "layerd", "1274637156", "cnzz_stat_icon_1274637156", ]; //此处添加广告框类名 var ad_css_name = [ "cproIframe_u410704_3", "img_ad", "hover_btn" ]; for (var i = 0; i < ad_id_name.length; i++) { //使用remove删除节点,提升性能 $('#' + ad_id_name[i]).remove(); } for (var i = 0; i < ad_css_name.length; i++) { $('.' + ad_css_name[i]).remove(); } }, //简单的智能算法 findSomeAdPossible: function() { var sap = $('div iframe'), ad_img = $('div script').parent().find('img,embed'), float_img = $('div object').parent().find('img,embed'); this.arrayDel(sap, 360, 200); this.arrayDel(ad_img, 350, 150); this.arrayDel(float_img, 350, 150); }, arrayDel: function(arr, conWidth, conHeight) { var len = arr.length; for (var i = 0; i < len; i++) { var self = arr.eq(i); if (self.width() <= conWidth || self.height() <= conHeight) { self.remove(); } } }, init: function() { this.checkUrl(); } } $(document).ready(function() { clearAd.init(); //为防止ajax异步延时加载的广告隔4s再清除一次 setTimeout(function() { clearAd.init(); }, 4000) }); })