在Android端,Cordova创建的app在初始化webview的时候,会创建WebViewClient和WebChromeClient,它们具有不同的作用。
WebViewClient:
WebViewClient帮助WebView处理各种通知、请求事件的,具体来说包括:
onLoadResource()
onPageStarted()
onPageFinished()
onReceiveError()
onReceivedHttpAuthRequest()
WebChromeClient
WebChromeClient是辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等
onCloseWindow(关闭WebView)
onCreateWindow()
onJsAlert (WebView上alert是弹不出来东西的,需要定制你的WebChromeClient处理弹出)
onJsPrompt()
onJsConfirm()
onProgressChanged()
onReceivedIcon()
onReceivedTitle()
在JS和原生交互时候,WebChromeClient非常重要。