首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WebViewClient - onPageStarted() vs shouldOverrideUrlLoading()?

WebViewClient - onPageStarted() vs shouldOverrideUrlLoading()?
EN

Stack Overflow用户
提问于 2012-03-21 16:06:20
回答 1查看 6K关注 0票数 6

我在用WebViewClient。我们应该看到onPageStarted()回调总是与shouldOverrideUrlLoading()回调配对吗?如果我在我的WebView中加载了WebView,我们应该看到这两个方法都被召回了吗?从医生那里:

onPageStarted()

通知主机应用程序页面已开始加载。对于每个主框架加载,此方法只调用一次,因此具有iframes或框架集的页面将为主框架调用一次onPageStarted。这也意味着当嵌入式帧的内容发生变化时,不会调用onPageStarted,即单击目标为iframe的链接。

shouldOverrideUrlLoading()

当一个新的url即将加载到当前的

中时,WebView给主机应用程序一个接管控件的机会。如果没有提供WebViewClient,默认情况下,WebView将要求Activity为url选择合适的处理程序。如果提供了WebViewClient,返回true意味着主机应用程序处理url,而返回false则意味着当前WebView处理url。

我在每种方法中都放了一条日志语句,我发现它们并不总是成对的。在什么情况下,他们不会是?

谢谢

http://developer.android.com/reference/android/webkit/WebViewClient.html

EN

回答 1

Stack Overflow用户

发布于 2014-08-28 19:15:29

我知道这个问题很老,但无论如何都要回答。AFAIK,将为页面中的每个url调用shouldOverrideUrlLoading(),其中as onPageStart()将只为页面的顶部url调用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9808420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档