Webview加载 - 内容完成加载检查

时间:2017-11-10 21:49:03

标签: javascript java android node.js heroku

我正在创建一个托管在云服务(heroku)上的应用程序,该应用程序每30分钟不活动一次。应用程序在页面加载时显示加载活动。由于服务器每隔30分钟就没有请求,因此响应时间可能在2到12秒之间。我正试图找到一种方法来了解内容是否完全加载了CSS和JS。 onPageFinished事件对我不起作用,大多数时候我得到一个空白页面。

 public void load(){
    webView = (WebView) findViewById(R.id.web);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    webView.loadUrl(serverURL);
    webView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return false;
        }
        public void onPageFinished(WebView view, String url) {
            LoadingActivity la = new LoadingActivity();
            if(la.isNetworkAvailable(MainActivity.this))
                LoadingActivity.current.finish();
            /* This event is called before all content loaded */
        }
    });
    webView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return (event.getAction() == MotionEvent.ACTION_MOVE);
        }
    });
}

2 个答案:

答案 0 :(得分:0)

你可以尝试在webView上设置WebChrome客户端,它有负载百分比事件,你可以尝试听那个。

答案 1 :(得分:0)

我发现最简单的事情就是从javascript文档就绪函数中调用java。