webView:shouldStartLoadWithRequest:navigationType:并不总是被触发

时间:2011-03-01 22:55:04

标签: iphone delegates uiwebview webview

从下面的截屏视频中可以看出,我有一段时间获得webView:shouldStartLoadWithRequest:navigationType:要一致地调用。

在下面的截屏视频中,您将看到一个包含三个尺寸选择器的UIWebview。当点击这三者中的任何一个时,webView:shouldStartLoadWithRequest:navigationType:应该被触发。不幸的是,这似乎并不总是发生。事件似乎不会一直发生。

http://screencast.com/t/ww6uwP1Je

那是什么导致了这个?我是否可以使用UIWebViewDelegate的错误方法来获取内部发生的一些事情?

3 个答案:

答案 0 :(得分:0)

好像你没有正确设置UIWebViewDelegate。我在截屏视频中注意到,一旦你点击了'L'(假定为“大”)按钮,它就能正常工作。该方法是否设置了委托?如果没有,请粘贴显示问题的代码段。

答案 1 :(得分:0)

由于其他两个按钮会生成对委托的调用,因此我们知道您的Web视图委托已正确分配。

失败的最简单解释是,S按钮未在HTML中正确配置,并且不会生成加载Web视图的实际请求。没有请求,委托方法永远不会被调用。

答案 2 :(得分:0)

好的,事实证明我并没有向任何人提供足够的信息来回答这个问题 - 我甚至从上面给出的webview要点中删除了相关部分。抱歉!

这是完整的模板:

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

事实证明,在链接上有一个onclick处理程序(参见上面的要点 - " #sizes_slider li")。删除那个onclick处理程序就可以了。