zoukankan      html  css  js  c++  java
  • [iOS]UIWebView返回和NSURLErrorDomain-999

    1.UIWebView实现返回不崩溃:

    -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
        NSString * urlString = [[request URL] absoluteString];
        //    requestString = [requestString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        // http://mobi.sscp178.com/app/black;

    // 1.判断后缀: if ([urlString hasSuffix:@"black;"]) { [_webView goBack]; } NSLog(@"requestring--------%@",urlString); return YES; }

    在这里也可以这样:

    -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
        NSString * urlString = [[request URL] absoluteString];
        //    requestString = [requestString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        // http://mobi.sscp178.com/app/black
        if ([urlString  containsString:@"black"]) {
                    [_webView goBack];
        }
        NSString*login =@"applogin.html";
        if ([urlString containsString:login]) {
            [self dismissViewControllerAnimated:YES completion:nil];
        }
        NSLog(@"requestring--------%@",urlString);
        
        return YES;
    }

    2.忽略错误 NSURLErrorDomain-999 在 UIWebView 无法正常工作:

    当网页返回,加断点,打印出来的error信息是:

    Error Domain=NSURLErrorDomain Code=-999 “The operationcouldn’t becompleted.

       根本原因:

    出现NSURLErrorDomain Code=-999的根本原因是什么呢?其实就是因为webview在之前的请求还没有加载完成,下一个请求发起了,此时webview会取消掉之前的请求,因此会回调到失败这里。

    因此,在处理Webview的加载失败的回调时,要注意拦截掉被取消的请求。

    解决方法:

    在webview加载失败时,添加如下代码来判断: 

    - (void)webView:(UIWebView *)webViewdidFailLoadWithError:(NSError *)error {
      [self stopAnimating];
      
      // 如果是被取消,什么也不干
      if([errorcode] == NSURLErrorCancelled)  {
        return;
      }
      
      // 后续失败处理
    }

    遇到一个问题,研究解决一个问题!今天是2017年3月27日,思思加油!

     
     
  • 相关阅读:
    苹果
    对称排序
    车牌号
    比较字母大小
    队花的烦恼一
    VF
    荷兰国旗问题
    字符串逆序输出
    Python多进程库multiprocessing创建进程以及进程池Pool类的使用
    Redis提供的持久化机制
  • 原文地址:https://www.cnblogs.com/pengsi/p/6627473.html
Copyright © 2011-2022 走看看