2010-06-12 15 views
7

C'è una pagina Web. Io tiro su con la webview, tuttavia mi piacerebbe nascondere il 1 link di testo in alto. C'è un modo per fare questo? Il collegamento è nel corpo, quindi non posso nascondere l'elemento del corpo nel suo insieme. La pagina Web è tutto testo e una piccola immagine in fondo, ma il testo viene generato ogni volta che lo si carica, quindi non posso semplicemente copiare/incollare il corpo.Un modo per nascondere elementi da Webview? (android)

Grazie

risposta

6

ho preso! Iniettando javascript ho dovuto usare

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

Ciò rimuove il collegamento (codice). La sostituzione ('a') con ('img') rimuove le immagini.

(grazie 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

dovrebbe essere ' "javascript: (function() {. Document.getElementById ('YOUR_ID') style.display = 'none';})()"' (senza '[0]') – 18446744073709551615

+0

Sto usando lo stesso codice ma non ha alcun effetto su webView –

Problemi correlati