您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Druid去廣告的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“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)容
在Filter中判斷當前路徑是否以 /druid/js/common.js
結(jié)尾;
獲取當前文件路徑應(yīng)返回的內(nèi)容;
刪除廣告相關(guān)代碼,并構(gòu)造新內(nèi)容;
將新內(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í)!
免責(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)容。