Android之WebViewClient与WebChromeClient的区别
2016-02-17 18:11
381 查看
如今HTML5越来越猖狂,Android中用到webview的次数也越来越多了。我们用到webview基本上会使用到WebViewClient,有时也会使用到WebChromeClient。下面让我们看看webview的基本用法以及WebViewClient和WebChromeClient的区别。
webview的基本用法:
WebViewClient主要处理各种通知、请求事件的,常用的方法有:
onLoadResource:加载资源时响应
onPageStart:在加载页面时响应
onPageFinish:在加载页面结束时响应
onReceiveError:在加载出错时响应
shouldOverrideUrlLoading:在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边。
WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站title、加载进度等比如
onCloseWindow(关闭WebView)
onCreateWindow()
onJsAlert (WebView上alert无效,需要定制WebChromeClient处理弹出)
onJsPrompt
onJsConfirm
onProgressChanged
onReceivedIcon
onReceivedTitle
看上去他们有很多不同,实际使用的话,如果你的WebView只是用来处理一些html的页面内容,只用WebViewClient就行了,如果需要更丰富的处理效果,比如JS、进度条等,就要用到WebChromeClient。
webview的基本用法:
WebSettings webSettings = webview.getSettings(); //设置JavaScript可用 webSettings.setJavaScriptEnabled(true); // zoom page webSettings.setBuiltInZoomControls(false); // 提高渲染的优先级 webSettings.setRenderPriority(RenderPriority.HIGH); // set cache webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
WebViewClient主要处理各种通知、请求事件的,常用的方法有:
onLoadResource:加载资源时响应
onPageStart:在加载页面时响应
onPageFinish:在加载页面结束时响应
onReceiveError:在加载出错时响应
shouldOverrideUrlLoading:在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边。
WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站title、加载进度等比如
onCloseWindow(关闭WebView)
onCreateWindow()
onJsAlert (WebView上alert无效,需要定制WebChromeClient处理弹出)
onJsPrompt
onJsConfirm
onProgressChanged
onReceivedIcon
onReceivedTitle
看上去他们有很多不同,实际使用的话,如果你的WebView只是用来处理一些html的页面内容,只用WebViewClient就行了,如果需要更丰富的处理效果,比如JS、进度条等,就要用到WebChromeClient。
相关文章推荐
- ANDROID_MARS学习笔记_S01原始版_022_MP3PLAYER002_本地及remote标签
- android 快速创建一个新的线程
- Android利用ant将多个jar包合并成一个jar包
- Android播放本地语音
- MPAndroidChart开源图表库(一)之饼状图
- 9. iOS 开发中添加自定义汉语字体
- _CrtIsValidHeapPointer(pUserData)
- APPLE:已经向中国开发者签发50亿美元分成
- 【iOS开发】结构体如何存入数组中
- ios 获取设备号
- Android EventBus框架
- 【从零之六&完结】android口语对话系统(RavenClaw java版 含所有源代码)
- Android串口操作,简化android-serialport-api的demo的问题
- 监听android home键的实现方式
- # android 开发小问题 button
- Unity_UGUI判断鼠标或者手指是否点击在UI上(三)
- Android内存泄漏原因
- _CrtIsValidHeapPointer(pUserData)
- 获取app的versioncode
- 初步试用android studio