我正在创建一个托管在云服务(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);
}
});
}
答案 0 :(得分:0)
你可以尝试在webView上设置WebChrome客户端,它有负载百分比事件,你可以尝试听那个。
答案 1 :(得分:0)
我发现最简单的事情就是从javascript文档就绪函数中调用java。