WebViewClient 与 WebChromeClient

Posted wytiger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebViewClient 与 WebChromeClient相关的知识,希望对你有一定的参考价值。

WebViewClient主要用来处理请求事件和在合适的时候回调进行一些逻辑处理,常用的shouldOverrideUrlLoading就是该类的一个方法,比如:

onLoadResource
onPageStart
onPageFinish
onReceiveError
onReceivedHttpAuthRequest

 

WebChromeClient主要辅助WebView处理javascript对话框、网站图标、网站标题、加载进度等,比如:

onCloseWindow(关闭WebView)
onCreateWindow()
onJsAlert (WebView上alert无效,需要定制WebChromeClient处理弹出)
onJsPrompt
onJsConfirm
onProgressChanged
onReceivedIcon
onReceivedTitle

看上去他们有很多不同,实际使用的话,如果你的WebView只是用来处理一些html的页面内容,只用WebViewClient就行了,如果需要更丰富的处理效果,比如JS、进度条等,就要用到WebChromeClient。

以上是关于WebViewClient 与 WebChromeClient的主要内容,如果未能解决你的问题,请参考以下文章

Android WebChrome 客户端 Promts/Opens Link 在浏览器而不是 WebView

WebView使用详解——WebViewClient与常用事件监听

使用 Android WebViewClient 启用特定 SSL 协议

Android WebViewClient 回调调用过于频繁

HTTP状态码webview android, WebViewClient

WebViewClient 和 WebChromeClient 是互斥的吗?