2011-03-01 78 views
0

從下面的截屏可以看出,我有一個時間得到webView的惡魔:shouldStartLoadWithRequest:navigationType:被一致地調用。webView:shouldStartLoadWithRequest:navigationType:並非總是觸發

在下面的截屏中,您將看到一個帶有三個大小選擇器的UIWebview。當點擊這三個中的任何一個時,webView:shouldStartLoadWithRequest:navigationType:應該會觸發。不幸的是,這似乎並不總是如此。事情似乎並不一致。

http://screencast.com/t/ww6uwP1Je

那麼是什麼造成的?是否有一個UIWebViewDelegate的錯誤方法,我可以利用它來挑選內部發生的一些事情?

回答

0

好吧,事實證明,我沒有提供任何足夠的信息給任何人回答這個問題 - 我甚至從上面給出的webview要點中刪除了相關部分。抱歉!

下面是完整的模板:

https://gist.github.com/521d17e0377133725d9a

原來有上慄surounding鏈接(見上面的要點 - 「#sizes_slider麗」)的onclick處理程序。刪除那個onclick處理程序就有訣竅。

+0

爲了澄清,問題出現在頁面的HTML中,而不是WebView的代碼? – TechZen 2011-03-03 01:32:52

0

看起來好像你沒有正確設置UIWebViewDelegate。我在屏幕錄像中注意到,一旦你點擊'L'(推測爲「大」)按鈕,它就會工作。該方法是否設置委託?如果沒有,請粘貼顯示問題的代碼片段。

+0

希望他的代表沒有根據按鈕在頁面中被分配。該委託屬於網絡視圖本身,而不是任何隨機頁面。 – TechZen 2011-03-01 23:33:33

+0

委託在xib中分配。我從來沒有直接在代碼中設置它。 – smtlaissezfaire 2011-03-02 18:48:11

+0

下面是相關代碼的代碼示例。這是一個從鬍鬚模板加載的webview:https://gist.github.com/aebb903b13a6e44631a2鏈接被觸發,委託從未被代碼觸及。 – smtlaissezfaire 2011-03-02 18:48:58

0

由於其他兩個按鈕生成對委託的調用,我們知道您的Web視圖委託已正確分配。

對於失敗的最簡單解釋是S按鈕沒有在HTML中正確配置,並且不會生成實際的Web視圖加載請求。在沒有請求的情況下,委託方法從不會首先被調用。

+0

其實,如果您注意到 - 稍後在視頻中的'S'按鈕確實可行! – smtlaissezfaire 2011-03-02 18:47:49