setWebChromeClient主要处理解析,渲染网页等浏览器做的事情
WebChromeClient是辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等
mWebView.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged (WebView view, int newProgress) { if (100 == newProgress) { hidenProgress(); } } });
mWebView.setWebViewClient(new WebViewClient() { // 重写该函数,可实现处理某Html5页面开始加载时,执行相应的逻辑 @Override public void onPageStarted (WebView view, String url, Bitmap favicon) { //远程Url,加载较慢 if (url.startsWith("http")) { // showProgress(); } } // 重写该函数,可实现处理某Html5页面结束加载时,执行相应的逻辑 @Override public void onPageFinished (WebView view, String url) { android.util.Log.i("当前路径", url); //远程Url,加载较慢 if (url.startsWith("http")) { // mProgress.setText("加载进度:100"); hidenProgress(); } } //重写该函数,可实现处理当某Webview即将加载某Url时,是否进行拦截,拦截后,该Webview将不继续加载该Url @Override public boolean shouldOverrideUrlLoading (WebView view, String url) { Log.i("当前的路径", url); //if(isok){ if(url.contains("action=phone")){ return true; } //分享 if (url.contains("action=share")) { return true; } //返回 if (url.contains("action=back")) { finish(); return true; } return false; } });