`
maxwellens
  • 浏览: 13170 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

【整】WebViewClient与WebChromeClient的区别

 
阅读更多
Android应用开发的时候可能会用到WebView这个组件,使用过程中可能会接触到WebViewClient与WebChromeClient,那么这两个类到底有什么不同呢?

WebViewClient主要帮助WebView处理各种通知、请求事件的,比如:

onLoadResource
onPageStart
onPageFinish
onReceiveError
onReceivedHttpAuthRequest
WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站title、加载进度等比如

onCloseWindow(关闭WebView)
onCreateWindow()
onJsAlert (WebView上alert无效,需要定制WebChromeClient处理弹出)
onJsPrompt
onJsConfirm
onProgressChanged
onReceivedIcon
onReceivedTitle
看上去他们有很多不同,实际使用的话,如果你的WebView只是用来处理一些html的页面内容,只用WebViewClient就行了,如果需要更丰富的处理效果,比如JS、进度条等,就要用到WebChromeClient。
更多的时候,你可以这样

WebView webView; 

webView= (WebView) findViewById(R.id.webview);

webView.setWebChromeClient(new WebChromeClient()); 

webView.setWebViewClient(new WebViewClient()); 

webView.getSettings().

setJavaScriptEnabled(true);

webView.loadUrl(url); 

这样你的WebView理论上就能有大部分需要实现的特色了
当然,有些更精彩的内容还是需要你自己添加的
分享到:
评论

相关推荐

    WebViewClient与WebChromeClient的区别

    ### WebViewClient与WebChromeClient的区别 在Android应用开发过程中,开发者常常会遇到使用WebView来加载网页或HTML内容的需求。为了更好地控制WebView的行为以及与之交互,Android提供了两个关键的类:`...

    android WebViewClient与WebChromeClient用法

    而当涉及到与网页交互时,我们通常会用到WebViewClient和WebChromeClient这两个关键类。它们各自有不同的职责,协同工作以提供丰富的用户体验。 首先,让我们详细了解WebViewClient。这个类主要负责处理WebView的...

    Android中WebChromeClient和WebViewClient的区别浅析

    1、WebViewClient就是帮助WebView处理各种通知、请求事件的,具体来说包括:onLoadResource 、onPageStart 、onPageFinish 、onReceiveError 、onReceivedHttpAuthRequest 2、WebChromeClient是辅助WebView处理...

    Android代码-Andorid-LiteHybrid-WebView

    1. 封装原生 webview,使用 WebViewClient 与 WebChromeClient 2. H5 调用 Native 采用 js prompt 方式 3. Native 调用 H5 采用 loadurl API 使用说明: errorview 和 loadingview 可以自定义 对 WebView 设置...

    Androind 浏览器(WebView)例子

    2. **WebViewClient与WebChromeClient** - `WebViewClient`:主要用于控制网页的加载行为,例如重定向、错误处理等。比如,你可以覆写`shouldOverrideUrlLoading()`方法来决定何时打开新的URL。 - `...

    安卓Android源码——WebViewJS.zip

    - 示例应用源码中,`Android WebViewJS应用源码`可能包含了一个简单的Android项目,展示了如何在Activity中创建WebView,配置WebSettings,设置WebViewClient和WebChromeClient,以及实现JavaScript与Java的交互。...

    自定义WebView简单demo

    在【WebviewTest】这个文件中,可能包含了实现上述功能的Java代码,包括WebView的初始化、设置WebViewClient和WebChromeClient,以及对应的回调方法。同时,可能还会有布局XML文件,定义了WebView和进度条的视图结构...

    Android 自带应用网页浏览器代码Browser

    2. **WebViewClient与WebChromeClient**:这两个类用于处理WebView的行为和交互。WebViewClient主要用于控制页面加载过程,比如重定向、加载进度更新等;WebChromeClient则处理更复杂的用户界面交互,如JavaScript...

    webview 上传照片

    功能是android webview 嵌入HTML5的页面,页面中有一个标签,iOS直接就支持,但android中不支持,网上的帖子说是因为android屏蔽了文件上传功能还是怎么的,没看明白,但是重写WebViewClient,WebChromeClient这两个...

    Android和H5互调

    1. WebViewClient与WebChromeClient:为了监听H5页面的加载事件,我们可以自定义WebViewClient和WebChromeClient。它们分别处理网页加载开始、完成、错误等事件,还可以实现弹窗、进度条等功能。 2. postMessage与...

    Android应用源码之38.WebView控件学习.zip

    2. **WebViewClient与WebChromeClient**:这两个内部类是处理WebView交互的关键。WebViewClient用于控制页面加载的行为,比如重定向、加载进度等;WebChromeClient则处理UI相关的回调,如加载进度条、对话框等。 3....

    android webview视频全屏等功能demo

    - 初始化WebView:需要在布局文件中添加WebView控件,并在Activity或Fragment中找到并设置WebView的相关属性,如设置WebViewClient、WebChromeClient等。 2. **WebViewClient和WebChromeClient**: - ...

    android webview 学习资料

    5. **WebViewClient与WebChromeClient**:WebViewClient主要用于处理页面加载事件,如`shouldOverrideUrlLoading()`决定是否接管URL的加载,`onPageFinished()`通知页面加载完成。WebChromeClient则处理更复杂的用户...

    安卓Android源码——精典源码之MyBrowser(简单网页浏览器).zip

    3. **WebViewClient与WebChromeClient**:为了处理网页加载过程中的各种事件,如页面加载开始、结束、错误处理等,MyBrowser使用了WebViewClient和WebChromeClient。前者主要用于控制页面加载行为,后者则处理与UI...

    一个简单浏览器 android

    ### 二、WebViewClient与WebChromeClient 1. **WebViewClient**:处理网页加载事件,比如重定向、加载完成等。可以覆盖`shouldOverrideUrlLoading()`方法来控制点击链接时的行为。 ```java webView....

    AgentWeb.zip

    - **JS 交互**:通过 WebViewClient 和 WebChromeClient 实现 JavaScript 和 Android 代码的交互,支持 JsBridge。 2. **使用步骤** - **添加依赖**:在项目的 build.gradle 文件中添加 AgentWeb 的依赖库。 - *...

    WebViewJavaScriptDemo2

    3. **WebViewClient与WebChromeClient**:这两个类分别处理页面加载事件和提供UI反馈,如加载进度、对话框等。可通过重写相应的方法实现自定义行为。 4. **内存管理**:注意及时释放WebView资源,避免内存泄漏。在...

    android webView

    博客文章可能还涉及了更深入的定制化和优化技巧,例如自定义WebViewClient和WebChromeClient,实现更好的用户体验,或是通过`WebView.setWebViewClient(new WebViewClient())`防止打开外部浏览器等。文件“webview...

    JSandroid相互调用

    3. JavaScript调用Android:为了使JavaScript能够调用Android的方法,Android需要提供一个接口,这个接口通常是在WebViewClient或WebChromeClient的子类中定义。当JavaScript触发特定URL或执行特定命令时,这个接口...

Global site tag (gtag.js) - Google Analytics