在Web视图中隐藏xml元素后如何删除空间

时间:2018-06-27 07:52:23

标签: javascript android webview

我正在开发android应用程序,不了解css和javascript。我需要在网页视图中显示一个网页,但是其中的一些元素都隐藏了。我的以下代码运行正常

 @Override
    public void onLoadResource(WebView view, String url) {
        super.onLoadResource(view, url);

      try {
          view.loadUrl("javascript:(function() { " +
                  "document.getElementById('header').style.visibility='collapse';})()");
        /*  view.loadUrl("javascript:(function() { " +
                  "document.getElementById('header').style.visibility='hidden';})()");*/
      }catch (Exception e) {
          e.printStackTrace();
      }
   }

“标头”是标头的ID,并且已被隐藏,但是它最初占据顶部的空间仍然保留。因此如何隐藏该空间。

谢谢:)

3 个答案:

答案 0 :(得分:1)

使用display:none完全隐藏该元素,并将display:block设置为再次显示。

或者您的情况为.style.display='none';

如果设置display:none,它将隐藏整个元素,而visible:hidden表示元素的内容将不可见,但元素将保持其原始位置和大小。

答案 1 :(得分:1)

尝试document.getElementById('header').style.display='none'

答案 2 :(得分:1)

我建议使用Jsoup:

您可以这样删除标签或ID:

public void removeUnusedHTMLTags(org.jsoup.nodes.Document document, String tagClassOrId) {
    Elements categories = document.select(tagClassOrId);
    for (org.jsoup.nodes.Element element : categories){
        Log.v(">>>", "Remove unused tag " + tagClassOrId);
        element.remove();
    }
}

编辑

您需要添加Jsoup库:

compile 'org.jsoup:jsoup:1.11.3'

要获取文档:

Connection con = Jsoup.connect(url)
                .ignoreContentType(true);
Connection.Response res = con.execute();
String rawJSON = res.body();
Document document = Jsoup.parse(rawJSON);