Skip to content

Android 安卓 tbs_sdk_thirdapp_44085_update * WebView * Tencent 腾讯 x5浏览器Browser内核,* shouldOverrideUrlLoading作用测试代码 * Android 浏览器开发过程中遇到的一些坑,* 微信 H5支付

Notifications You must be signed in to change notification settings

Seachal/X5WebDemo_tbs_sdk_thirdapp

Repository files navigation

此项目包含这些内容

Note-1Goolge官网_网页浏览客户端_WebViewClient

Note-2Goolge官网shouldOverrideUrlLoading文档

Note-3WebView使用详解(二)——WebViewClient与常用事件监听

Note-4Android笔记WebView详细注释

Note-5Android WebView:onReceiveError的应用与变迁

Note-6isForMainFrame

Note-7js 与原生调用

Problem-1记录一次webView 报错排查过程

Problem-2问题处理-无法上传图片


Goolge官网shouldOverrideUrlLoading文档

shouldOverrideUrlLoading

API 级别 24 中 添加

public boolean shouldOverrideUrlLoading (WebView view, WebResourceRequest request)

当 URL 即将加载到当前 WebView 中时,让宿主应用程序有机会进行控制。 如果未提供 WebViewClient,默认情况下 WebView 将要求活动管理器为 URL 选择合适的处理程序。 如果提供了 WebViewClient,则返回 true 会导致当前 WebView 中止加载 URL,而返回 false 会导致 WebView 像往常一样继续加载 URL。

注意: 不要使用请求的 URL 调用WebView#loadUrl(String) 然后返回 true . 这会不必要地取消当前加载并使用相同的 URL 启动新加载。 继续加载给定 URL 的正确方法是简单地 return false ,而不调用 WebView#loadUrl(String) .

注意: POST 请求不会调用此方法。

注意: 此方法可能会被subframes和非 HTTP(S) 方案调用; WebView#loadUrl(String)使用这样的 URL 调用 将失败。

参数
view WebView : 发起回调的 WebView。
request WebResourceRequest :包含请求详细信息的对象。
返回
boolean true 取消当前加载,否则返回 false

shouldOverrideUrlLoading

API 级别 1 中 添加 已在 API 级别 24 中 弃用

public boolean shouldOverrideUrlLoading (WebView view, String url)

此方法在 API 级别 24 中已弃用。 请改用 shouldOverrideUrlLoading(WebView, WebResourceRequest)

当 URL 即将加载到当前 WebView 中时,让宿主应用程序有机会进行控制。 如果未提供 WebViewClient,默认情况下 WebView 将要求活动管理器为 URL 选择合适的处理程序。 如果提供了 WebViewClient,则返回 true 会导致当前 WebView 中止加载 URL,而返回 false 会导致 WebView 像往常一样继续加载 URL。

注意: 不要 WebView#loadUrl(String) 使用相同的 URL 调用 然后返回 true 。 这会不必要地取消当前加载并使用相同的 URL 启动新加载。 继续加载给定 URL 的正确方法是简单地 return false ,而不调用 WebView#loadUrl(String) .

注意: POST 请求不会调用此方法。

注意: 此方法可能会被subframes和非 HTTP(S) 方案调用; WebView#loadUrl(String) 使用这样的 URL 调用 将失败。

这种场景我经历过, 网页中有个 iframe 标签 代码内容如下:

<iframe id="__ToutiaoJSBridgeIframe" src="bytedance://dispatch_message/" style="display: none;"></iframe>

iframe 的 src 链接 被 shouldOverrideUrlLoading 拦截到, "bytedance://dispatch_message/"这是一个 scheme, 然后最后当前网页就变成空白页了。

参数
view WebView : 发起回调的 WebView。
url String : 要加载的 URL。
返回
boolean true 取消当前加载,否则返回 false


待 补充 Java js 互相调用 webview_java/me.txt at main · wangweijun123/webview_java

About

Android 安卓 tbs_sdk_thirdapp_44085_update * WebView * Tencent 腾讯 x5浏览器Browser内核,* shouldOverrideUrlLoading作用测试代码 * Android 浏览器开发过程中遇到的一些坑,* 微信 H5支付

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published