WebViewClient yourWebClient = new WebViewClient()
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return false;
}
@Override
public void onPageFinished(WebView view, String url)
{
webView.loadUrl("javascript:document.getElementByClassName('storyTieUp');");
}
};
webView = (WebView) findViewById( R.id.browser );
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setSupportZoom(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.setWebViewClient(yourWebClient);
webView.loadUrl("http://stars.nhl.com/club/newsindex.htm");
这是我的webViewClient代码我只想显示其类名是' storyTieUp'的div内容,当我运行此代码时它显示整个网站内容,但我只需要一个div来显示webview,因为我在某些部分使用Jsoup,但在这里我不想使用Jsoup因为某些原因,是否有任何解决方案只能按类名显示一个div,在此先感谢
答案 0 :(得分:0)
首先,请从view.loadUrl(url);
删除shouldOverrideURLLoading
。它不需要并导致性能问题。 URL加载已在进行中;你不需要再次启动它。
我不认为这是删除HTML文档中storyTieUp
以外的所有节点的简单方法。您也许可以获取节点的innerHTML
,然后将该HTML格式化为要显示的新文档。
从onPageFinished
调用JavaScript可能是不确定的。当从网络加载页面的资源时调用此回调,而不一定在解析它们或完全构造DOM时调用此回调。这意味着您的JavaScript可能会失败。
您目前使用的代码会选择该元素,但之后不会对其执行任何操作。