0

在 WebView 中显示网页之前,我想根据它们的 id 从网页的 html 代码中删除一些元素。我知道如何使用 Javascript 来做到这一点,但对于我的应用程序来说,禁用 WebView 的 Javascript 很重要。

我写过像 jsoup 这样的 html 解析器,但我不太明白如何将它们用于我的特定问题。有什么建议么?

编辑:好的,这是我到目前为止所得到的:

我将 HTML 加载到字符串中并删除不需要的元素。

 String HTMLResult="";
        String urlText = "http://www.google.com";
    BufferedReader in = null;
    try {
      URL url = new URL(urlText);
      in = new BufferedReader(new InputStreamReader(url.openStream()));


      String inputLine;
      while ((inputLine = in.readLine()) != null) {
            HTMLResult += '\n'+ inputLine;

      }
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      if (in != null) {
        try {
          in.close();
              HTMLResult=HTMLResult.replace("ExampleElement", "");
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
        }

这部分工作正常,但速度很慢。

我试图将 HTML 代码加载到 WebView 中

webview.loadData(HTMLResult, "text/html", null);

但我只能在 Webview 窗口中以文本形式显示代码。

谢谢你,帕斯卡

4

2 回答 2

1

您应该从 webview 外部获取源 html,然后将其解析为原始数据,修改您想要的内容,并将处理后的 html 提供给 webview。

于 2013-03-21T14:36:46.453 回答
-1

使用 Jsoup 库来实现这一点。

https://jsoup.org/apidocs/org/jsoup/select/Selector.html

Document doc = Jsoup.connect("your url").ignoreContentType(true).get();
Elements ele = doc.select("class to remove").remove();
webView.loadData(doc.toString(),"text/html; charset=UTF-8", null);
于 2016-11-18T14:17:43.357 回答