溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Druid去廣告的方法

發(fā)布時間:2021-07-01 11:59:08 來源:億速云 閱讀:318 作者:chen 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“Druid去廣告的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Druid去廣告的方法”吧!

Druid 如何去廣告

定位廣告代碼

我們先在頁面定位廣告產(chǎn)生的邏輯,

  • 線索一、由于廣告不是頁面加載時出現(xiàn)的,所以肯定有個異步的方法來加載;

  • 線索二、因為每個頁面都會調(diào)用,因此一般封裝在某個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>

經(jīng)逐個排查,發(fā)現(xiàn)廣告代碼存在與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 的返回內(nèi)容

  1. 在Filter中判斷當前路徑是否以 /druid/js/common.js 結(jié)尾;

  2. 獲取當前文件路徑應(yīng)返回的內(nèi)容;

  3. 刪除廣告相關(guān)代碼,并構(gòu)造新內(nèi)容;

  4. 將新內(nèi)容,返回輸出至前臺;

if(requestUrl.contains("/druid/js/common.js")){
    // 過濾 /druid/js/common.js 路徑,將廣告代碼替換掉
    chain.doFilter(request, response);
    response.resetBuffer();
    // 獲取common文件內(nèi)容
    String text = Utils.readFromResource("support/http/resources/js/common.js");
    // 正則表達式刪除 <footer class="footer"> 與 </footer> 之間的內(nèi)容,包括footer本身
    text = text.replaceAll("<footer class=\"footer\">[^%]*</footer>", "");            
    // 將新內(nèi)容返回至前臺頁面
    response.getWriter().write(text);
}

重新運行代碼后,訪問 druid/js/common.js ,會發(fā)現(xiàn)廣告代碼沒了

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

此時訪問 Druid相關(guān)頁面,發(fā)現(xiàn)沒有廣告了,大功告成!

到此,相信大家對“Druid去廣告的方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI