Загрузить часть веб-страницы в Android WebView - PullRequest
0 голосов
/ 23 сентября 2018

Я хочу загрузить часть веб-страницы в мой веб-просмотр.Я использовал javascript, чтобы скрыть некоторые классы div, но проблема в том, что сначала он полностью загружает страницу, а затем скрывает класс div.запустите 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;
        }
    }
}

1 Ответ

0 голосов
/ 27 сентября 2018

Наконец, после некоторой борьбы, я нашел решение.Я должен установить код JavaScript в onLoadResource, а не в публичный void onPageFinished.правильный код:

закрытый класс load_web extends 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'; " + "})()");

            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...