2010-06-12 6 views
7

Es gibt eine Web-Seite, die ich mit Webview aufrufen, jedoch möchte ich den 1 Textlink an der Spitze ausblenden. Gibt es eine Möglichkeit, dies zu tun? Die Verbindung ist im Körper, also kann ich das Körperelement nicht vollständig verbergen. Die Webseite besteht aus ganzem Text und einem winzigen Bild unten, aber der Text wird jedes Mal generiert, wenn Sie ihn laden, so dass ich nicht einfach den Text kopieren/einfügen kann.Eine Möglichkeit, Elemente aus dem Webview auszublenden? (Android)

Danke

Antwort

6

Ich habe es! Durch Javascript Injektion Ich hatte

webview.loadUrl (to use "javascript: (function() { " + „document.getElementsByTagName ('a') [0] .style.display =‚none '; "+ "})() ");

Das entfernt den Link (Code). Ersetzen ('a') durch ('img') würde die Bilder entfernen.

(dank lexanderA - Injecting JavaScript into a WebView)

11
final WebView webview = (WebView)findViewById(R.id.browser); 

    webview.getSettings().setJavaScriptEnabled(true); 

    webview.setWebViewClient(new WebViewClient() { 
    @Override 
    public void onPageFinished(WebView view, String url) 
    { 
     // hide element by class name 
     webview.loadUrl("javascript:(function() { " + 
       "document.getElementsByClassName('your_class_name')[0].style.display='none'; })()"); 
     // hide element by id 
     webview.loadUrl("javascript:(function() { " + 
       "document.getElementById('your_id').style.display='none';})()"); 

    } 
    }); 

webview.loadUrl(url); 
+3

Es sollte 'sein "javascript: (function() {. Document.getElementById ('your_ID') style.display = 'none';})()"' (ohne '[0]') – 18446744073709551615

+0

Ich benutze den gleichen Code, aber es hat keine Auswirkungen auf WebView –

Verwandte Themen