Android:如何在android中的webview中只显示一个来自网站的类

时间:2014-04-23 14:30:00

标签: android html webview

  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,在此先感谢

1 个答案:

答案 0 :(得分:0)

首先,请从view.loadUrl(url);删除shouldOverrideURLLoading。它不需要并导致性能问题。 URL加载已在进行中;你不需要再次启动它。

我不认为这是删除HTML文档中storyTieUp以外的所有节点的简单方法。您也许可以获取节点的innerHTML,然后将该HTML格式化为要显示的新文档。

onPageFinished调用JavaScript可能是不确定的。当从网络加载页面的资源时调用此回调,而不一定在解析它们或完全构造DOM时调用此回调。这意味着您的JavaScript可能会失败。

您目前使用的代码会选择该元素,但之后不会对其执行任何操作。