我正在使用android WebView
,我想在我的Android设备上加载网页,但只显示网页的某些部分,而不是整页。
这可能吗?
答案 0 :(得分:0)
我认为您要做的是从HTML页面中删除一些内容,然后将其显示在WebView中。这可以通过javascript实现,所以在你显示页面之前添加一些javascript代码,删除你不想要的元素。
<强> LIKE 强>
final WebView mWebView = (WebView) findViewById(R.id.mWebViewId);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url)
{
mWebView.loadUrl("javascript:(function() { " +
"document.getElementById('tableid')[0].style.display='none'; " +
"})()");
}
});
mWebView.loadUrl(youUrl);
对于每个元素,只需将document.getElementsByTagName('tableid')
替换为document.getElementsByTagName('theElementYouWantToRemove')
即可。原始解决方案可在Display a part of the webpage on the webview android
答案 1 :(得分:0)
在 Kotlin 中是这样的:
view.webViewClient = object : WebViewClient() {
override fun onPageFinished(view: WebView, url: String) {
view.loadUrl(
"javascript:(function() { " +
"var head = document.getElementsByClassName('header')[0].style.display='true'; " +
"var head = document.getElementsByClassName('art-bnr')[0].style.display='none'; " +
"var head = document.getElementsByClassName('container-box')[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(url)