如何在android webview中显示网页的某些部分?

时间:2015-06-21 04:05:53

标签: android

我正在使用android WebView,我想在我的Android设备上加载网页,但只显示网页的某些部分,而不是整页。

这可能吗?

2 个答案:

答案 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)