[英]Webview Loading - Content finished loading check
I'm creating an app hosted on a cloud service(heroku) that sleeps every 30 minutes of inactivity. 我正在创建一个托管在云服务(heroku)上的应用程序,该应用程序每隔30分钟不活动就进入睡眠状态。 The app shows a loading activity when the page loads.
该应用程序在页面加载时显示加载活动。 Since the server sleeps every 30 minutes of no request to it, response time may vary from 2 to 12 seconds.
由于服务器每隔30分钟会在无请求的情况下休眠,因此响应时间可能在2到12秒之间变化。 I'm trying to find a way to know if content fully loaded with CSS and JS.
我正在尝试找到一种方法来确定内容是否已完全用CSS和JS加载。 onPageFinished event doesn't work for me, most times I get a blank page.
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);
}
});
}
您可以尝试在webView上设置WebChrome客户端,它具有负载百分比事件,您可以尝试收听该客户端。
我发现最简单的方法就是从javascript文档ready函数中调用java。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.