温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Druid去广告的方法

发布时间:2021-07-01 11:59:08 来源:亿速云 阅读:321 作者:chen 栏目:大数据

本篇内容主要讲解“Druid去广告的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Druid去广告的方法”吧!

Druid 如何去广告

定位广告代码

我们先在页面定位广告产生的逻辑,

  • 线索一、由于广告不是页面加载时出现的,所以肯定有个异步的方法来加载;

  • 线索二、因为每个页面都会调用,因此一般封装在某个js中。

在Druid主页面,按F12,可以看到页面引用了如下js文件

<script src="js/lang.js" type="text/javascript" charset="utf8"></script>
<script src="js/common.js" type="text/javascript" charset="utf8"></script>

经逐个排查,发现广告代码存在与common.js中

第30行

buildFooter : function() {
	var html ='<footer class="footer">'+
			  '    		<div class="container">'+
			  '<a href="https://render.alipay.com/p/s/taobaonpm_click/druid_banner_click" target="new"><img src="https://render.alipay.com/p/s/taobaonpm_click/druid_banner"></a><br/>' +
		  	  '	powered by <a href="https://github.com/alibaba/" target="_blank">AlibabaTech</a> & <a href="http://www.sandzhang.com/" target="_blank">sandzhang</a> & <a href="http://melin.iteye.com/" target="_blank">melin</a> & <a href="https://github.com/shrekwang" target="_blank">shrek.wang</a>'+
		  	  '			</div>'+
			  ' </footer>';
	$(document.body).append(html);
}

删除广告代码

目前在不能更改源代码的前提下,我们可以通过Filter过滤器来修改 common.js 的返回内容

  1. 在Filter中判断当前路径是否以 /druid/js/common.js 结尾;

  2. 获取当前文件路径应返回的内容;

  3. 删除广告相关代码,并构造新内容;

  4. 将新内容,返回输出至前台;

if(requestUrl.contains("/druid/js/common.js")){
    // 过滤 /druid/js/common.js 路径,将广告代码替换掉
    chain.doFilter(request, response);
    response.resetBuffer();
    // 获取common文件内容
    String text = Utils.readFromResource("support/http/resources/js/common.js");
    // 正则表达式删除 <footer class="footer"> 与 </footer> 之间的内容,包括footer本身
    text = text.replaceAll("<footer class=\"footer\">[^%]*</footer>", "");            
    // 将新内容返回至前台页面
    response.getWriter().write(text);
}

重新运行代码后,访问 druid/js/common.js ,会发现广告代码没了

buildFooter : function() {
	var html ='';
	$(document.body).append(html);
},

此时访问 Druid相关页面,发现没有广告了,大功告成!

到此,相信大家对“Druid去广告的方法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI