Iphone iOS:webView委托方法不总是被调用
我想为我的web视图设置后退/前进按钮,所以我在所有4个web视图委托方法中检查canGoBack、canGoForward状态。委托设置正确,并且在大多数情况下调用方法。但是,在一些情况下,它们不被称为:Iphone iOS:webView委托方法不总是被调用,iphone,ios,jquery-mobile,uiwebview,back-button,Iphone,Ios,Jquery Mobile,Uiwebview,Back Button,我想为我的web视图设置后退/前进按钮,所以我在所有4个web视图委托方法中检查canGoBack、canGoForward状态。委托设置正确,并且在大多数情况下调用方法。但是,在一些情况下,它们不被称为: 当我调用[webView goBack](针对特定链接)时 当我单击某个链接时,请返回,然后再次单击该链接(对于特定链接,请再次单击) 我怀疑这与jquery移动库或该页面中使用的html/css有关。不过,Safari后退按钮工作正常 那么,除了制作计时器之外,我如何跟踪后退/前进按钮
- 当我调用[webView goBack](针对特定链接)时
- 当我单击某个链接时,请返回,然后再次单击该链接(对于特定链接,请再次单击)
那么,除了制作计时器之外,我如何跟踪后退/前进按钮的状态呢?也许您缺少
webviewdiffinishload
reset
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
webBack.enabled = [webView canGoBack];
webForward.enabled = [webView canGoForward];
}
可能您缺少
webviewdidfinishload
reset
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
webBack.enabled = [webView canGoBack];
webForward.enabled = [webView canGoForward];
}
不,我没有,这是设置好的,适用于大多数网站,除了少数网站(你可以在这里用问题链接进行测试:)好的,马上测试。编辑:你说得对,这对我也不管用。有趣。至少调用了
shouldStartLoadWithRequest
,这样您就可以通过这种方式检测到它。必须有一种方法让它调用webViewDidFinishLoad:不过……当我调用[webView goBack]时,不调用shouldStartLoadWithRequest;。当我重新单击链接时也不会调用它(可能有某种缓存机制)。这是一个交易:它不会加载缓存页面(如您所建议的),但也不会加载具有相同URL的页面。链接中的URL来自http://.../home/ to…/home/#foo/bar,在URL中与/home/相同,但带有书签foo/bar。不知道如何解决这个问题。不,我没有,这是设置好的,适用于大多数网站,除了少数网站(你可以在这里用问题链接进行测试:)好的,马上测试。编辑:你说得对,这对我也不管用。有趣。至少调用了shouldStartLoadWithRequest
,这样您就可以通过这种方式检测到它。必须有一种方法让它调用webViewDidFinishLoad:不过……当我调用[webView goBack]时,不调用shouldStartLoadWithRequest;。当我重新单击链接时也不会调用它(可能有某种缓存机制)。这是一个交易:它不会加载缓存页面(如您所建议的),但也不会加载具有相同URL的页面。链接中的URL来自http://.../home/ to…/home/#foo/bar,在URL中与/home/相同,但带有书签foo/bar。但还不确定如何解决这个问题。