【发布时间】:2011-02-26 19:08:25
【问题描述】:
我正在使用WebViewClient.shouldOverrideUrlLoading 来捕获 WebView 中的任何链接点击。这在大约 95% 的情况下都有效,但有时根本不会调用它。
我在这三种情况下注意到了:
- 当链接指向他们已经在的页面时。这个没什么大不了的,有一个bug reported for it。
- 当页面仍在加载时,如果用户点击一个链接,它很少会捕捉到它。它只会打开链接而无需调用
shouldOverrideUrlLoading。 - 随机。在过去几个月中对此进行试验时,我注意到有时它无法捕捉到它。这种情况很少见,但确实会发生。
现在我的问题主要是如何解决问题 2,因为其他问题不大。但是,如果有人解决了 1 或 3,我很想听听。
另外,我应该提一下,我在shouldOverrideUrlLoading 中尝试了不同的返回值,我注意到总是返回 true 似乎有最好的结果,但上述问题仍然存在。
【问题讨论】:
-
我在修改
window.location的页面上尝试使用js更改网页时遇到了类似的问题。事实证明,修改 url 方案/协议会使 webview 赶上shouldOverrideUrlLoading。 -
您在对已接受答案的评论中说,问题的原因在于您的逻辑。你从来没有提到真正的问题是什么。我有这个问题,从谷歌搜索看来我不是唯一一个。您愿意花点时间告诉我们您是如何解决的吗?
-
@mickey,感谢您指出这一点。对于那个很抱歉!我在下面写了一个回复。 (在接受的答案 cmets)
-
不!太糟糕了,但我的问题似乎和你的不一样...... :(
-
@mickey,你怎么了?与这个原始问题中描述的差不多还是不同?
标签: android android-webview webviewclient