`

Webview 中WebViewClient遇到的问题

 
阅读更多
官方文档是这样解析shouldOverrideUrlLoading的:
ublic boolean shouldOverrideUrlLoading (WebView view, String url)

Since: API Level 1
Give the host application a chance to take over the control when a new url is about to be loaded in the current WebView. If WebViewClient is not provided, by default WebView will ask Activity Manager to choose the proper handler for the url. If WebViewClient is provided, return true means the host application handles the url, while return false means the current WebView handles the url.
Parameters
view The WebView that is initiating the callback.
url The url to be loaded.
Returns
True if the host application wants to leave the current WebView and handle the url itself, otherwise return false.
理解起来是开发者可以自己控制新的URL处理方式,听起来貌似很很方便。你也许会和我一样想这个function每次会在onPageStarted之前都会调用它,那么在我们开发中,若发现有些URL自己可以来处理,而不是用webview像平常的url那样解释出来,就可以在这个function中处理,可当你在开发的时候你就发现事实并不是你想象的那样,shouldOverrideUrlLoading并不是每次都在onPageStarted之前开始调用的,就是说一个新的URL不是每次都经过shouldOverrideUrlLoading的,只有在调用webview.loadURL的时候才会调用,那你怎么办呢?若你真的想自己处理一些特殊的URL,你可以在onPageStarted中处理,因为onPageStarted每次都会调用,但是你怎样让viewView停止解释你自己已经处理的URL呢,方法就是在onPageStarted中检测到url为你想要处理的之后就调用webview.stoploading的funciton来停止webview的加载。
分享到:
评论

相关推荐

    android webview 因iframe+target=“_blank “ 导致的页面无法正常打开或获取不到调整url

    然而,开发者时常会遇到一些棘手的问题,其中之一便是“android webview 因iframe+target=“_blank”导致的页面无法正常打开或获取不到调整url”。这个问题涉及到WebView的加载机制、iframe标签的特性和JavaScript...

    android使用webview上传文件兼容问题解决支持5.0以上系统

    然而,在实际应用中,尤其是在处理文件上传功能时,开发者经常会遇到兼容性问题,特别是针对Android 5.0(Lollipop)及以上版本。本文将深入探讨如何解决Android Webview中的文件上传兼容问题。 首先,我们需要了解...

    替换WebView加载网页失败

    然而,有时我们可能会遇到“替换WebView加载网页失败”的问题,这通常是由于多种原因引起的。以下是一些可能导致这个问题的关键知识点以及解决策略。 1. **初始化问题**:首先,确保在使用WebView之前正确地初始化...

    WebViewClient与WebChromeClient的区别

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

    webview解决兼容问题封装ProgressWebView

    然而,由于Android设备的多样性和系统版本的差异,WebView在不同设备上可能会遇到兼容性问题。为了解决这些问题,开发者通常会进行一些特定的封装,例如创建一个`ProgressWebView`。本文将深入探讨`WebView`的兼容性...

    webview更改页面字体

    当我们需要对WebView加载的页面进行自定义样式,比如更改字体,可能会遇到一些挑战,因为WebView本质上是加载HTML、CSS和JavaScript代码,而这些内容的样式通常在网页本身中定义。然而,我们可以通过一些方法来实现...

    Android中WebView使用

    在项目中,你可能还会遇到缓存、Cookies管理、自定义Header、注入JavaScript接口等问题。例如,设置缓存模式: ```java webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); ``` 通过`...

    WebView应用实例

    2. 错误处理:在加载网页过程中,可能会遇到网络问题或者服务器错误。当网页UI请求错误时,WebView可以通过以下方式提供友好的界面: - `WebViewClient`的`onReceivedError()`方法:捕获加载过程中的错误,可以...

    android_中webView控件详解

    ### Android中的WebView控件详解 #### 一、概述 WebView是Android系统提供的一个重要的控件,主要用于在应用程序中展示Web内容。它不仅能够加载并显示HTML文档,还支持JavaScript脚本执行,允许开发者通过Java与...

    android webview加载gif图片

    当涉及到加载动态图像,如GIF时,WebView可能会遇到一些挑战,因为默认情况下,它并不直接支持GIF动画的播放。这篇内容将深入探讨如何在Android WebView中加载并流畅播放GIF图片。 首先,我们需要理解WebView的工作...

    webView让本地页面相互调换案例

    在《jQuery Mobile权威指南》的学习过程中,你会遇到如何使用WebView来实现本地HTML页面间的相互调用。这个案例将帮助你理解和实践这一功能。 首先,我们来了解WebView的基本使用。在Android布局XML文件中,你需要...

    android4.4 webview js交互冲突

    在Android 4.4(KitKat)版本中,WebView与JavaScript的交互可能会遇到一些问题,导致功能无法正常工作或出现性能瓶颈。本文将详细讲解如何解决“Android 4.4 WebView JS交互冲突”的问题。 首先,理解WebView与...

    TestWebView

    在此,我们将深入探讨`WebView`的使用、全屏播放视频的实现以及可能遇到的问题。 首先,`WebView`的初始化和基本配置是必不可少的。在布局文件中,我们通常会有一个`<WebView>`标签,并为其设置ID。在Activity或...

    Android 使用webView 下载网络图片

    在Android应用开发中,WebView是一个非常重要的组件,它允许我们加载和显示网页内容。当涉及到在WebView中下载网络图片时,有一些...希望这些信息能对你有所帮助,如果在实践中遇到任何问题或发现bug,欢迎随时提问。

    webView登陆小例子

    在这个场景中,我们可能会遇到以下几个关键知识点: 1. **WebView的基本使用**:首先,我们需要在布局文件中添加WebView控件,并在Java代码中通过findViewById()方法获取其引用。然后,调用WebView的loadUrl()方法...

    Android webview 播放视频、文字复制

    在实际应用中,我们经常会遇到在WebView中播放视频和允许用户复制文字的需求。以下是对这两个功能的详细解释: 一、Android WebView 播放视频 1. HTML5 Video 标签:在网页设计中,使用HTML5的`<video>`标签可以...

    webview404

    然而,使用WebView时,我们可能会遇到各种网络错误,如404(未找到)、500(服务器内部错误)、断网以及连接超时等问题。针对这些问题,我们需要进行妥善的处理和适配,尤其是对于Android 6.0以下的老版本系统,兼容...

    webview与服务器共享cookie操作

    6. **跨域问题**:如果WebView需要加载多个域名的页面,可能会遇到跨域cookie的问题。需要确保服务器设置允许跨域,并在客户端正确处理。 7. **隐私策略**:注意遵循相应的隐私政策,尤其是在处理用户敏感信息时,...

    解决Android webview设置cookie和cookie丢失的问题

    Android webview是一个非常常用的技术,然而在使用中经常会遇到cookie丢失的问题,导致登陆失败等情况。今天,我们将探索解决Android webview设置cookie和cookie丢失的问题,帮助大家更好地使用Android webview。 ...

    webview 播放在线视频不能全屏 (附件工程)

    然而,在实际应用中,我们可能会遇到一些挑战,比如在WebView中播放在线视频时无法实现全屏功能。这个问题在给定的标题"webview 播放在线视频不能全屏 (附件工程)"中被提及,并且提供了相关的博客链接和一个名为...

Global site tag (gtag.js) - Google Analytics