您好,登錄后才能下訂單哦!
本篇內容主要講解“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 的返回內容
在Filter中判斷當前路徑是否以 /druid/js/common.js
結尾;
獲取當前文件路徑應返回的內容;
刪除廣告相關代碼,并構造新內容;
將新內容,返回輸出至前臺;
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去廣告的方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。