Android Webview:仅显示网站内容

时间:2018-07-24 10:57:31

标签: java android

我想隐藏网站的页眉和页脚,但无法正常运行,请帮助

我想知道是否可以在WebView中仅显示网站的某些部分。

MainActivity.java

public class MainActivity extends AppCompatActivity {

    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        webView = (WebView) findViewById(R.id.webView);
        webView.setWebViewClient(new myWebClient());
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("https://myopenhab.org/account");

    public class myWebClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            view.loadUrl(url);
            return true;

        }

        @Override
        public void onPageFinished(WebView view, String url) {

            view.loadUrl("javascript:(function() { " +
                    "var head = document.getElementId('mainHeader').style.display='none'; " +
                    "})()");
        }
    }


    @Override
    // This method is used to detect back button
    public void onBackPressed() {
        if (webView.canGoBack()) {
            webView.goBack();
        } else {
            // Let the system handle the back button
            super.onBackPressed();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我尝试了此Javascript代码,但删除后显示了网站

    public class myWebClient extends WebViewClient
    {
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);

            view.loadUrl("javascript:(function() { " +
                    "var element = document.getElementById('mainHeader');"
                    + "element.parentNode.removeChild(element);" +
                    "var element = document.getElementById('footerRights');"+ "element.parentNode.removeChild(element);" + "})()");

        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }


        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);

        }


    }