2016-01-22 227 views
0

我想加载到WebView只有一个div与编号为results的所有网站。在Android WebView中只加载一个div

我已经尝试添加这样的JavaScriptInterface:

 webView.setJavaScriptEnabled(true); 
     webView.addJavascriptInterface(this, "android"); 

     @JavascriptInterface 
     public void onData(String value) { 
       webView.loadData(value, "text/html", null); 
     } 

而且我WebViewClient内:

 @Override 
     public void onPageFinished(WebView view, String url) { 
      webView.loadUrl("javascript:android.onData(document.getElementById('results'));"); 
     } 

但它根本没有工作,整个网页改为加载div我的想。

+0

“我无法让它工作” - 请解释您的确切症状。 – CommonsWare

+1

有你叫webview.javascriptenabled(true) – drWisdom

+0

是的,我已经调用它。 – Grender

回答

0

1)如果要加载从网站URL的内容的一部分,那么延长WebViewClient Link

2)使用JSOUP库报废网页。得到URL结果分析它只拿divid(结果)

Document document = Jsoup.connect(LINK_TO_WEBSITE).get(); 
String content = document.getElementById("pnlResults").outerHtml(); 

,并通过这些内容在Android的web视图。

WebView webview = (WebView)this.findViewById(R.id.webview); 
webview.getSettings().setJavaScriptEnabled(true); 
webview.loadDataWithBaseURL("", content, "text/html", "UTF-8", ""); 
+0

我正在那样做, – Grender

+0

它是为你工作 –

+0

它不工作,我想要显示的div的html代码,而不是隐藏其他元素, – Grender