您的位置:首页 > 移动开发

Android之WebViewClient与WebChromeClient的区别

2016-02-17 18:11 381 查看
如今HTML5越来越猖狂,Android中用到webview的次数也越来越多了。我们用到webview基本上会使用到WebViewClient,有时也会使用到WebChromeClient。下面让我们看看webview的基本用法以及WebViewClient和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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: