繁体   English   中英

加载多个WebView时出现-999错误

[英]Error -999 when loading multiple webViews

我正在制作的iOS应用程序可以有多个webView同时加载相同的URL。 导致此错误:

Error Domain=NSURLErrorDomain Code=-999 "The operation couldn’t be completed. 
(NSURLErrorDomain error -999.)" UserInfo=0x176b7bc0 {NSErrorFailingURLKey=https://example.com, 
NSErrorFailingURLStringKey=https://example.com}

在旧请求完成之前启动新请求时,我读到了这种情况。 如何防止这种情况发生? 谢谢

使用委托方法。 如果要顺序运行它们,请确定哪个视图触发了该方法,然后触发了下一个视图。

- (void) webViewDidFinishLoad:(UIWebView *)webview{
     if ( webview == self.wView1 )
     {
          // stuff
     } else if ( webview == self.wView2 ) {
          // stuff 2
     }
}

UITableViewDelegate协议参考

我花了几个星期担心这个错误。 我在访问网页时随机得到它。 就我而言,我将其归结为请求页面的速度太快了,因为Web访问是由状态机以代码而不是用户驱动的。

经过大量的搜索,最终我发现了一些讨论,这些讨论无法解释为什么会发生错误,但是感觉到它是UIWebView的功能,而不是您应担心的功能。 指导是忽略它。 我将查看是否可以找到该文章,并在以后找到该答案时对其进行更新。

我更新了我的代码,如下所示,到目前为止,添加代码至今未见任何不良影响。 这将表明它几乎是一个通知,并且所有导致其似乎在UIWebView中得到纠正的东西。 希望您的情况也一样。

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
    VSSLog(@"Entry: error = %@",error);

    // Added this based on net advice. Its a bogus error.
    if ([error code] == NSURLErrorCancelled) {
        return;
    }

    ... Normal error handling code for proper errors.
}

我不是一个视而不见的人,但是我相信这是可以接受的情况之一。

最后,如果仅使用iOS8,则可以尝试使用新的WKWebView而不是UIWebView。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM