ios开发中webview加载失败返回 NSURLErrorDomain-999的解决方法。

最近在开发一个IOS应用应用到webview控件加载网页,问题来了,webview加载网页是需要时间的,如果用户操作比较快,出现一个load页面没有加载完毕的就进入下一个的话,那么就会进入:

func webView(webView: UIWebView, didFailLoadWithError error: NSError) {

    //TODO

}

问题就在这里了,由于我的写的代码,如果报错,我给予他一个返回的页面。这样的代码,每次就出现,如果用户操作特别频繁,一个页面没有加载完毕就进入下一个页面,这时候,

func webView(webView: UIWebView, didFailLoadWithError error: NSError) {

的error 加载失败返回 nsurlerrordomain -999 的


从苹果公司的文档:

NSURLErrorCancelled (-999)

"当异步加载取消返回。当它执行取消操作上加载资源时,Web 工具包框架委托将收到此错误。请注意,NSURLConnection 或 NSURLDownload 委托不会收到此错误如果取消下载。"

所以,最有可能为这种情况发生的情况为您加载请求,然后另一个 (或相同),第一完成之前。这可能发生。例如,如果调用 loadRequest (或 loadHTMLString ) 这样的方法在 viewDidAppear: 可以调用多次。这也据报发生如果你快速点击 2 链接在 UIWebView

那么怎么解决这个问题呢。

其实,我们只要忽略他就可以了,

    func webView(webView: UIWebView, didFailLoadWithError error: NSError) {
        
        if error.code == NSURLErrorCancelled {
            return ;  //忽略这个错误。
        }


关键词: nsurlerrordomain , webview

上一篇: android安全之webview远程代码执行漏洞
下一篇: 极光推送报错:Code=3000 "未找到应用程序的“aps-environment”的权利字符串"解决方法

目前还没有人评论,您发表点看法?
发表评论

评论内容 (必填):