UIWebView和超时

flo*_*hei 7 iphone cocoa-touch timeout uiwebview uiwebviewdelegate

我用a UIWebView来显示一些内容.在此内容中,用户可以浏览使用AJAX加载的一堆站点.这个网站上的一步需要相当长的一段时间.因为我没有找到关于timeoue的任何内容,UIWebView所以我试图在初始NSURLRequest加载时设置它.

不幸的是,这似乎没有做任何事情.我不太确定我是否应该自己设置超时?有什么我想念的吗?是否UIWebView重写我的超时?我对此有点困惑所以任何帮助都会受到赞赏.:)

最好的
-f

更新

我建立了一个测试项目来验证关于UIWebView超时工作方式的"理论" .这是设置:

  • 一个名为sleep.php的PHP文件,它有一个参数,我可以用它来配置睡眠时间直到它发送结果
  • 一个带有单个视图的Xcode项目,它是一个加载sleep.php的webView,如下所示:

    NSURLRequest*request = [NSURLRequest requestWithURL:url cachePolicy:NSURLCacheStorageAllowed timeoutInterval:10]; [webView loadRequest:request];

因此,在使用秒参数时,我可以看到UIWebView它应该正常工作.我得到webViewDidFinishLoad:webView:didFailLoadWithError:取决于超时.

在验证了timeoutInterval所宣传的工作之后,我引入了proxy.php(它有两个指向sleep.php配置为5和15秒的链接),以查看我的请求配置是否仍然对新请求有效.我更改了初始化NSURLRequest以使用proxy.php,但是为超时留下了10秒的配置.

当我现在启动应用程序时,正在显示两个链接.当我点击第一个时,它会在5秒后按预期加载.不幸的是,第二个链接也会在15秒后加载.

所以我第一次尝试重新配置NSURLRequest就是改变它webView:shouldStartLoadWithRequest:navigationType:.不幸的是,Web服务使用AJAX,因此不会调用委托方法.

还有其他建议吗?有没有办法全局配置整体的超时值UIWebView

最好的
-f

flo*_*hei 0

我发现它UIWebView不会NSURLRequest一遍又一遍地使用相同的东西。所以我的答案是,不可能全局配置UIWebView.