WebView的加载进度,报错处理,配置

WebView的加载进度,报错处理,配置

xml布局代码(仅供参考):

    












进度条监听

wvMain.setWebChromeClient(new WebChromeClient() {

        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            LogUtils.i(newProgress+"");
            if (null != npbBar) {
                npbBar.setProgress(newProgress);
                if (newProgress == 100) {
                    npbBar.setVisibility(View.GONE);
                    wvMain.setVisibility(View.VISIBLE);
                }
            }
            super.onProgressChanged(view, newProgress);
        }
    });

报错处理

wvMain.setWebViewClient(new WebViewClient() {

                        @Override
                        public boolean shouldOverrideUrlLoading(WebView view, String url) {
                            // 使用当前WebView处理跳转
                            view.loadUrl(url);
                            // true表示此事件在此处被处理,不需要再广播
                            return true;
                        }

                        @Override
                        public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
                            super.onReceivedError(view, request, error);
                            //错误布局切换代码
                            loadError();

                        }
                    });

webView配置

private void webViewSetting() {
    wvMain.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);//支持通过Javascript打开新窗口
    wvMain.getSettings().setJavaScriptEnabled(true);//设置WebView属性,能够执行Javascript脚本
    wvMain.getSettings().setDomStorageEnabled(true);//设置是否启用了DOM Storage API
    wvMain.getSettings().setDatabaseEnabled(true);//开启database storage API功能
    wvMain.getSettings().setUseWideViewPort(true);//将图片调整到适合webview的大小
    wvMain.getSettings().setLoadWithOverviewMode(true);// 缩放至屏幕的大小

}

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注