Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS:webView委托方法不总是被调用_Iphone_Ios_Jquery Mobile_Uiwebview_Back Button - Fatal编程技术网

Iphone iOS:webView委托方法不总是被调用

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后退按钮工作正常 那么,除了制作计时器之外,我如何跟踪后退/前进按钮

我想为我的web视图设置后退/前进按钮,所以我在所有4个web视图委托方法中检查canGoBack、canGoForward状态。委托设置正确,并且在大多数情况下调用方法。但是,在一些情况下,它们不被称为:

  • 当我调用[webView goBack](针对特定链接)时
  • 当我单击某个链接时,请返回,然后再次单击该链接(对于特定链接,请再次单击)
我怀疑这与jquery移动库或该页面中使用的html/css有关。不过,Safari后退按钮工作正常


那么,除了制作计时器之外,我如何跟踪后退/前进按钮的状态呢?

也许您缺少
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。但还不确定如何解决这个问题。