10

WebView で Web ページを読み込みたいが、Web ページの一部を削除したい。そこで、カスタム WebViewClient を作成しました。そして、onPageFinished() で、いくつかの要素を削除するために JavaScript を実行しました。次に、WebView を表示できるようにしました。

ただし、実行すると、ビューが表示され、要素が削除されます。JS がバックグラウンドで非常にゆっくりと実行されているかのようです。ページ全体がフラッシュされてから、必要な部分ページがフラッシュされるため、表示エクスペリエンスが低下します。

これが私の onPageFinished() です

@Override
public void onPageFinished(WebView view, String url) {

    view.loadUrl("javascript:"
            + "document.getElementsByClassName('header')[0].style.display='none';"
            + "document.getElementById('section_0').style.display='none';"
            + "document.getElementById('page-actions').style.display='none';"
            + "document.getElementsByClassName('languageSelector')[0].style.display='none';"
            + "document.getElementById('mw-mf-last-modified').style.display='none';"
            + "document.getElementById('footer').style.display='none';");

    loadingView.setVisibility(View.INVISIBLE);
    view.setVisibility(View.VISIBLE);
}

これを修正する方法についてのアイデアはありますか?

4

2 に答える 2