我正在开发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,并且已被隐藏,但是它最初占据顶部的空间仍然保留。因此如何隐藏该空间。
谢谢:)
答案 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);