我是Android Studio的新手,我想在我的Android应用程序WebView(而不是完整的站点)中显示该网站的一部分。 我尝试使用jsoup库来做但没有成功。 目前我正在尝试使用以下代码实现此目的,但仍然没有成功。请帮我做些什么。
webView1=(WebView)findViewById(R.id.webView1);
webView1.getSettings().setJavaScriptEnabled(true);
webView1.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url)
{
url="http://https://mannudestiny.wordpress.com/";
webView1.loadUrl("javascript:(function() { " + "document.getElementsByClassName('site-content').style.display='none'; " + "})()");
webView1.loadUrl(url);
}
});
//webView1.loadUrl("www.google.com");
答案 0 :(得分:2)
我尝试了堆栈溢出的每一个答案,以实现我的问题的答案,但它们都没有为我工作,需要在代码中进行微小的更改才能实现这一点。 今天我得到了自己问题的答案。
要显示网站的某些部分,我们必须将代码更改为:
webView1.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url)
{
webView1.loadUrl("javascript:(function() { " +
"document.getElementById('footer').style.display='none'; " +
"document.getElementsByClassName('logo')[0].style.display='none'; " +
"})()");
}
});
webView1.loadUrl("your url");
当您使用getElementById
时,删除[0]并在使用getElementsByClassName
时分别在ID或类名后面使用[0]。
此外,如果您想显示网站部分,请使用style.display='block'
,如果您想删除该部分,请使用style.display='none'
,希望我的回答和解释有用。
答案 1 :(得分:0)
我还尝试了堆栈溢出的每一个答案来实现答案,但它们都没有为我工作。
我得到了解决方案:
view.getSettings().setJavaScriptEnabled(true);
view.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url)
{
view.loadUrl("javascript:(function() { " +
"var head = document.getElementsByClassName('header')[0].style.display='none'; " +
"var head = document.getElementsByClassName('blog-sidebar')[0].style.display='none'; " +
"var head = document.getElementsByClassName('footer-container')[0].style.display='none'; " +
"})()");
}
});
view.loadUrl("your url");

添加(var head =)似乎是在webview中隐藏我的类。
我希望这会对某人有所帮助。