setWebClient与setWebChromeClient之间的区别

setWebClient与setWebChromeClient之间的区别

android.webkit库聚合了webkit内核的浏览器功能,webview就是她的一个控件,可以使得网页轻松的内嵌到app里。

并且比较强大的是,还可以直接跟js相互调用。

webview有两个方法:setWebChromeClient和setWebClient

setWebChromeClient主要处理解析,渲染网页等浏览器做的事情

WebChromeClient是辅助WebView处理JavaScript的对话框,网站图标,网站title,加载进度等

onCloseWindow(关闭WebView)

onCreateWindow()

onJsAlert (WebView上alert是弹不出来东西的,需要定制你的WebChromeClient处理弹出)

onJsPrompt

onJsConfirm

onProgressChanged

onReceivedIcon

onReceivedTitle

比如可以添加进度条,使得界面更友好

webview1.setWebChromeClient(newWebChromeClient()        {publicvoidonProgressChanged(WebView view,intprogress)              {                  setProgress(progress * 100);if(progress == 100){                        imageView1.setVisibility(View.GONE);                    tv1.setVisibility(View.GONE);                    pb1.setVisibility(View.GONE);                    fy1.setVisibility(View.GONE);                }            }        }        );

WebViewClient就是帮助WebView处理各种通知、请求事件的,具体来说包括:

onLoadResource

onPageStart

onPageFinish

onReceiveError

onReceivedHttpAuthRequest

例如:

webview1.setWebViewClient(newWebViewClient() {publicvoidonReceivedError(WebView view,interrorCode, String description, String failingUrl)

{//Handle the error

Toast.makeText(getApplicationContext(), "网络连接失败 ,请连接网络。", Toast.LENGTH_SHORT).show();

}publicbooleanshouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url);returntrue; } });//设置字符集编码

webview1.getSettings().setDefaultTextEncodingName("UTF-8");

webview1.loadUrl("http://www.android100.org/");





原文:http://blog.csdn.net/u014552288/article/details/23078447

推荐阅读更多精彩内容

  • WebView·开车指南 2016-08-31BugDev 北京市东城区首席Bug布道师开山之作,一整月交通事故血...
    53c021c38a1d阅读 372评论 0 1
  • 对于使用webview加载一个网页,使用它的loadurl()方法即可,如果在程序内要打开网页,难么就要自己创建一...
    易瑞阅读 1,931评论 0 0
  • 这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以...
    Shawn_Dut阅读 4,826评论 3 52
  • 怎样抽取一个常用的WebView基类 在开发中我们会经常用到网页加载,但是如果每次出现一个需要加载页面的需求时,就...
    安卓小生阅读 1,291评论 1 8
  • 我看你时你不在窗里 我寻你时你不在人海 我梦你时你不在人间 我想你时你在风中轻吟在月光里对着我笑
    柳尘微阅读 61评论 1 2