我使用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