簡體   English   中英

在android webview中加載部分網頁

[英]Load part of web page in android webview

我想將部分網頁加載到我的webview中。 我使用javascript隱藏了一些div類,但問題是首先它完全加載了頁面,然后隱藏了div類,我想知道是否有辦法在webview內加載網頁的特定部分,或者有沒有一種方法可以先加載運行javascript,然后加載網頁。 這是我用來隱藏div類的代碼:

public class main extends AppCompatActivity {

    String url = "the web page url";
    WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity);

        new load_web.execute();

    }

    private class load_web extends AsyncTask < Void, Void, Void > {

        @Override
        protected void onPostExecute(Void aVoid) {
            webView = (WebView) findViewById(R.id.samsung_webView);
            webView.getSettings().setJavaScriptEnabled(true);

            webView.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageFinished(WebView view, String url) {

                    webView.loadUrl("javascript:(function() { " + "document.getElementsByClassName('header-container')[0].style.display='none'; " + "})()");

                }
            });
            webView.loadUrl(url);

        }

        @Override
        protected Void doInBackground(Void...voids) {
            return null;
        }
    }
}

最后,經過一番努力,我找到了解決方案。 我應該在onLoadResource中設置javascript代碼,而不是在公共無效的onPageFinished中設置。 正確的代碼是:

私有類load_web擴展了AsyncTask {

    @Override
    protected void onPostExecute(Void aVoid) {
        webView = (WebView) findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onLoadResource(WebView view, String url) {
                super.onLoadResource(view, url);

                webView.loadUrl("javascript:(function() { " + "document.getElementsByClassName('header-container')[0].style.display='none'; " + "})()");

            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM