Android-JS in WebView.loadUrl()

Ich soll zum laden einer Webseite im WebView, sondern entfernen Sie Teile der Webseite. So erstellte ich eine benutzerdefinierte WebViewClient. Und, in onPageFinished(), habe ich einige javascript entfernen Sie einige Elemente. Dann machte ich mich auf die WebView sichtbar.

Allerdings, wenn ich es ausführen, legt die Ansicht sichtbar, und dann sehe ich die Elemente, die entfernt wird. Es ist, als ob das JS im hintergrund ausgeführt wird, sehr langsam. Es erstellt eine schlechte Erfahrung anzeigen, da es blinkt die ganze Seite und dann die gewünschte partielle Seite.

Hier ist mein 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);
}

Irgendwelche Ideen auf, wie man dieses Problem beheben?

InformationsquelleAutor Eric Cochran | 2013-10-12
Schreibe einen Kommentar