30分ごとに休止するクラウドサービス(heroku)でホストされているアプリを作成しています。ページの読み込み時に読み込みアクティビティが表示されます。サーバーは30分ごとに要求がないたびにスリープするため、応答時間は2〜12秒の間で変化します。私はコンテンツがCSSとJSで完全にロードされているかどうかを知る方法を見つけようとしています。 onPageFinishedイベントは私にとってはうまくいかず、ほとんどの場合空白のページが表示されます。Webview Loading - コンテンツの読み込みが完了しました
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.setWebChromeClient(新しいWebChromeClient(){onProgressChanged @Override公共ボイド(WebViewのビュー、INT newProgress) {super.onProgressChanged(ビュー、newProgress);}} )。 –
まだ数秒間空白のページが表示されます。 newProgress == 100かどうかを確認しました。 –