我使用WebViewClient.shouldOverrideUrlLoading来捕获WebView中的任何链接点击。这约占95%的时间,但有时它不会被调用。shouldOverrideUrlLoading无法正常工作/在页面加载时捕获链接点击
我在这三种情况下注意到了这一点:
- 当链接指向的网页,他们已经在。这个并不是什么大不了的,并且有一个bug reported for it。
- 当页面仍在加载时,如果用户单击链接,它很少捕获它。它只会打开链接,而不会呼叫
shouldOverrideUrlLoading
。 - 随机。在过去的几个月里对此进行实验时,我注意到有时候它并没有抓住它。这很少见,但确实发生了。现在
我的问题主要是如何解决问题2,因为其他人都少了什么大不了的。但是,如果有人解决了1或3我很想听到它。
另外,我应该提及我已经尝试了不同的返回值shouldOverrideUrlLoading
,我注意到总是返回true似乎有最好的结果,但上述问题仍然存在。
我试图用修改'window.location'的页面上的js修改网页时遇到了类似的问题。原来,修改url方案/协议使webview捕获'shouldOverrideUrlLoading'。 – 2011-07-07 21:23:18
你在接受答案的评论中说,问题的原因是你的逻辑。你从来没有提到真正的问题是什么。我有这个问题,并从谷歌搜索似乎我不是唯一的问题。你愿意花一点时间告诉我们你是如何解决它的? – mickey 2012-02-02 18:59:52
@mickey,谢谢你指出这一点。对于那个很抱歉!我在下面写了一个回复。 (在接受的答案评论中) – cottonBallPaws 2012-02-03 06:25:54