如何在Android WebView中删除标题? (加载时) [英] How to remove the header in Android WebView? (While Loading)
本文介绍了如何在Android WebView中删除标题? (加载时)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在android' WebView
'中删除网站的标题。有了我的代码,它就有效。但问题是' WebView
'在页面完全加载后删除了标题。我想删除它,而它正在加载。
I want to remove the header of the website in android 'WebView
'. With the Code that I have, it works. But the problem is that the 'WebView
' is removing the header after the page loaded completely. I want to remove it, while it is loading.
多数代码片段:
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url)
{
webView.loadUrl("javascript:(function() { " +
"var head = document.getElementsByTagName('header')[0];"
+ "head.parentNode.removeChild(head);" +
"})()");
webView.loadUrl("javascript:(function() { " +
"var head = document.getElementsByTagName('footer')[0];"
+ "head.parentNode.removeChild(head);" +
"})()");
}
});
推荐答案
最简单的方法是在<$ c $中注入Javascript c> onLoadResource()方法。把它放在try-catch块中,因为 WebView
在加载之前不会知道该元素:
Easiest way is to inject Javascript in onLoadResource()
method. Put it inside try-catch block since WebView
will not know about the element before it has been loaded:
webView.setWebChromeClient(new WebChromeClient() {
...
@Override
public void onLoadResource(WebView view, String url) {
try {
webView.loadUrl("javascript:(window.onload = function() { " +
"(elem1 = document.getElementById('id1')); elem.parentNode.removeChild(elem1); " +
"(elem2 = document.getElementById('id2')); elem2.parentNode.removeChild(elem2); " +
"})()");
} catch (Exception e) {
e.printStackTrace();
}
}
}
这篇关于如何在Android WebView中删除标题? (加载时)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文