Android WebViewは、Webページの広告をブロックします

要求する

多くの場合、WebViewによってロードされた一部のWebページに広告があり、広告を削除する必要があります。jsを使用して、対応する広告ブロックを非表示にすることができます。ここでの効果は、リストのコンテンツのみが表示されることです。

効果

  • オリジナル効果
    効果の前
  • シールド後の効果
    ここに画像の説明を挿入

コード

  • コアJSコード
document.querySelector('#siteWrapper > header').style.display="none";

  • 以下のWebViewsetWebViewClientメソッドで記述されたWebView設定の非表示コードonProgressChanged内部
WebViewClient client=new WebViewClient(){
    
    
        @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
    
    
            view.loadUrl(request.getUrl().toString());
            return true;
        }

        @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
    
    
            handler.proceed();
        }

        @Override
        public void onPageFinished(WebView view, String url) {
    
    
            String fun="javascript:" +
                    "function hideStyle(){" +
                    "document.querySelector('#siteWrapper > header').style.display=\"none\";" +
                    "document.querySelector('#siteWrapper > div.wrapper > section.boxItem.boxItemAdd').style.display=\"none\";" +
                    "document.querySelector('#siteWrapper > div.wrapper > section.boxItem.toggleBox.pairsWrapper > div').style.display=\"none\";" +
                    "document.querySelector('#siteWrapper > footer > div.footerBottom').style.display=\"none\";" +
                    "document.querySelector('#siteWrapper > footer > div:nth-child(4)').style.display=\"none\";" +
                    "document.querySelector('#siteWrapper > footer > div:nth-child(3)').style.display=\"none\";" +
                    "document.querySelector('#siteWrapper > footer > div:nth-child(2)').style.display=\"none\";" +
                    "document.querySelector('#siteWrapper > footer > div:nth-child(1)').style.display=\"none\";" +
                    "document.querySelector('#siteWrapper > section.boxItem.disclaimer.js-toggled-box.js-disclaimer-box').style.display=\"none\";" +
                    "document.querySelector('#div-gpt-ad-1333374405327-0').style.display=\"none\";" +
                    "document.querySelector('#div-gpt-ad-1338276709958-0').style.display=\"none\";" +
                    "document.querySelector('#siteWrapper > div.adDrawer').style.display=\"none\";" +
                    "}" +
                    "hideStyle();";
            view.loadUrl(fun);

        }
    };

ステップ

ブラウザでWebページのリンクアドレスを開き、F12キーを押してWebページのソースコードを表示し、div
gif
コピーセレクタを選択します。

おすすめ

転載: blog.csdn.net/xufei5789651/article/details/108201629