2012-09-04 20 views
8

Ich möchte eine App machen, die den Inhalt von der Webseite in webview lädt. Ich möchte nur eine bestimmte Sache in der gesamten Webansicht zeigen, nicht den gesamten Inhalt der Webseite.Einen Teil der Webseite in der Webansicht anzeigen android

Hier ist ein Beispiel. Wenn ich als URL für die Webansicht http://us.m.yahoo.com/w/search%3B_ylt=A2KL8xs0vUBQMg0AwAkp89w4?submit=oneSearch&.intl=us&.lang=en&.tsrc=yahoo&.sep=fp&p=digital+cameras&x=0&y=0 verwende, werden alle Inhalte der Seite in der Webansicht geladen. Aber ich möchte das Banner der Seite entfernen und es in der Webansicht meiner Anwendung anzeigen.

Ich habe Adblocker mit CSS-Tags versucht, aber das hilft mir nicht. Bitte geben Sie mir eine Idee, wie Sie dieses Problem lösen können.

Danke.

Antwort

15

Vielen Dank für die Antwort Zyber. Ich habe es mit der Injektion von JavaScript im Code für WebView in Android gelöst.

final WebView webview = (WebView)findViewById(R.id.browser); 
webview.getSettings().setJavaScriptEnabled(true); 
webview.setWebViewClient(new WebViewClient() { 
@Override 
public void onPageFinished(WebView view, String url) 
{ 
    webview.loadUrl("javascript:(function() { " + 
      "document.getElementsByTagName('header')[0].style.display="none"; " + 
      "})()"); 
} 
}); 
webview.loadUrl("http://code.google.com/android"); 

Dies löste meinen Zweck und es ist einfach zu bedienen.

+0

"document.getElementsByTagName ('header') [0] .style.display =" none ";" + "})()"); ist Header ist der Name der Div-Klasse, und keine ist nicht im Studio gelöst werden kann –

2

Check Jsoup bietet es eine Bibliothek, die zum Extrahieren von HTML-Elementen von einer Webseite

DefaultHttpClient client = new DefaultHttpClient(); 
HttpGet get = new HttpGet(url.toURI()); 
HttpResponse resp = client.execute(get); 

String content = EntityUtils.toString(resp.getEntity()); 
Document doc = Jsoup.parse(content); 
Elements ele = doc.select("div.classname"); 

Dieses Beispiel führt eine HTTP-GET und extrahiert dann ein Div-Element mit der Klasse „Klassenname“ eine einfache Möglichkeit gibt, wo Sie dann laden Sie in Ihr Webview

+0

Wie Sie dieses Element in eine Webansicht einfügen? kannst du das beispiel voll machen? – delive

+0

Dies beantwortet die OP-Frage nicht. Verwenden von Jsoup nur zum Parsen des geladenen HTML. Sie müssen webview zweimal verwenden, um es zu laden. – kidnan1991

Verwandte Themen