简体   繁体   English

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

[英]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.

相关问题 如何检查 Blazor 服务器应用程序中的 iframe 是否已完成加载内容? - How to check if in a Blazor server app a iframe has finished loading content? 在页面已经完成加载后识别页面完成加载内容 - Identify page finished loading content after page was already finished loading Jquery / javascript检查div是否完成加载? - Jquery/javascript check if the div finished loading? 如何检查JS文件是否已完成加载? - How to check if a JS file is finished loading? 在Angular.Js完成内容加载后加载JavaScript - Loading JavaScript after Angular.Js finished loading content 如何检查窗口是否仍在加载并完成加载? - How do I check if a window is still loading and also finished loading? 如何检测Cordova WebView何时完全完成加载? - How to detect when a Cordova WebView completely finished loading? Android Webview - 页面加载完成后使用 Javascript 更改元素 - Android Webview - Change Elements with Javascript after page finished loading 如何避免在WebView页面加载完成时持续发出警报?Android - How to avoid continuous alert on WebView Page Loading Finished?Android 在iOS中,UIWebView如何在完成加载之前获取html DOM内容? - In iOS UIWebView how to get html DOM content before it finished loading?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM