2010-06-12 5 views
7

Il y a une page Web que je trouve avec webview, mais je voudrais cacher le lien de 1 texte en haut. Y a-t-il un moyen de faire cela? Le lien est dans le corps, donc je ne peux pas cacher l'élément du corps en entier. La page Web est tout en texte, et une petite image en bas, mais le texte est généré chaque fois que vous le chargez, donc je ne peux pas simplement copier/coller le corps.Un moyen de cacher des éléments de webview? (android)

Merci

Répondre

6

Je l'ai eu! En injectant javascript je devais utiliser

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

Cela supprime le lien (code). Remplacer ('a') avec ('img') supprimerait les images.

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

Il devrait être ' "javascript: (function() {. Document.getElementById ('VOTRE_ID') style.display = 'none';})()"' (sans '[0]') – 18446744073709551615

+0

J'utilise le même code mais cela n'a aucun effet sur webView –