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日,思思加油!

     
     
  • 相关阅读:
    20175216 数据结构(选做)
    20175216 《Java程序设计》第1周学习总结
    20175216 MyCP(课下作业)
    WPF 4 DataGrid 控件(进阶篇一)
    InstallShield 通过VBS操作IIS
    WPF 4 DataGrid 控件(自定义样式篇)
    INNO 实现Sql数据库操作
    Wix学习整理(7)——在开始菜单中为HelloWorld添加卸载快捷方式
    Wix学习整理(5)——安装时填写注册表
    Wix学习整理(4)——关于WiX文件格式和案例HelloWorld的分析
  • 原文地址:https://www.cnblogs.com/pengsi/p/6627473.html
Copyright © 2011-2022 走看看