前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >WebView中shouldOverrideUrlLoading的调用时机

WebView中shouldOverrideUrlLoading的调用时机

作者头像
乱码三千
发布于 2021-07-29 06:53:05
发布于 2021-07-29 06:53:05
2.8K00
代码可运行
举报
文章被收录于专栏:乱码三千乱码三千
运行总次数:0
代码可运行

shouldOverrideUrlLoading一定在onPageStarted之前调用吗?答案是:不一定。

当我们在shouldOverrideUrlLoading方法中通过view.loadUrl加 return false;的方式加载一个页面时:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    view.loadUrl(url);
    return false;
}

则回调执行顺序如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
                        onPageStarted(http://www.taobao.com)
                     -> onPageStarted(https://www.taobao.com)
                     -> shouldOverrideUrlLoading(https://www.taobao.com)
                     -> onPageFinished(https://www.taobao.com)

如果改成view.loadUrl(url);加return true; 则回调执行顺序如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
                        onPageStarted(http://www.taobao.com)
                    -> onPageStarted(https://www.taobao.com)
                    -> shouldOverrideUrlLoading(https://www.taobao.com)
                    -> onPageFinished(https://www.taobao.com)
                    -> onPageStarted(https://www.taobao.com)
                    -> onPageFinished(https://www.taobao.com)

可以发现当返回false时,onPageFinished会少执行一次,这样无法保证标识重定向flag的准确性

如果是点击页面,触发<link>标签,则对应的回调顺序如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
                       shouldOverrideUrlLoading(https://www.taobao.com)
                   -> onPageStarted(https://www.taobao.com)
                   -> onPageFinished(https://www.taobao.com)

总结

  • 当我们通过loadUrl的方式加载一个页面时,先调用onPageStarted再调用shouldOverrideUrlLoading。
  • 当我们点击页面中的一个link时,先调用shouldOverrideUrlLoading再调用onPageStarted。
  • shouldOverrideUrlLoading不一定每次都被调用,没有重定向不调用,reload不调用,返回上一页面不调用。。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乱码三千 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档