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

 
 

[iOS]UIWebView返回和NSURLErrorDomain-999的更多相关文章

  1. ios UIWebView截获html并修改便签内容(转载)

    ios UIWebView截获html并修改便签内容 博客分类: iphone开发iphone开发phoneGap uiwebviewstringByEvaluatingJavaScriptFromS ...

  2. IOS UIWebView截获html并修改便签内容,宽度自适应

    需求:混合应用UIWebView打开html后,UIWebView有左右滚动条,要去掉左右滚动效果:  方法:通过js截获UIWebView中的html,然后修改html标签内容:  实例代码:  服 ...

  3. ios UIWebView截获html并修改便签内容

    需求:混合应用UIWebView打开html后,UIWebView有左右滚动条,要去掉左右滚动效果: 方法:通过js截获UIWebView中的html,然后修改html标签内容: 实例代码: 服务器端 ...

  4. iOS UIWebView 获取内容实际高度,关闭滚动效果

    本文转载至 http://my.oschina.net/Khiyuan/blog/341535   iOS UIWebView 获取内容实际高度,关闭滚动效果 近期做东西,将 UIWebView 嵌套 ...

  5. iOS UIWebView获取403/404

    问题描述 与WindowsPhone不同,iOS UIWebView并不认为403/404这种情况下页面访问是失败的,这也情有可原,但有时候,我们需要对WebView所遇到的403/404进行处理. ...

  6. iOS UIWebView与JavaScript的交互 相关资料

    UIWebView自适应宽度 iOS UIWebView中javascript与Objective-C交互.获取摄像头 iOS中JavaScript和OC交互 iOS与js交互,获取webview完整 ...

  7. iOS UIWebView中javascript与Objective-C交互、获取摄像头

    UIWebView是iOS开发中常用的一个视图控件,多数情况下,它被用来显示HTML格式的内容. 支持的文档格式 除了HTML以外,UIWebView还支持iWork, Office等文档格式: Ex ...

  8. iOS - UIWebView

    前言 NS_CLASS_AVAILABLE_IOS(2_0) __TVOS_PROHIBITED @interface UIWebView : UIView <NSCoding, UIScrol ...

  9. IOS UIWebView(浏览器控件)

    什么是UIWebViewUIWebView是iOS内置的浏览器控件系统自带的Safari浏览器就是通过UIWebView实现的 UIWebView不但能加载远程的网页资源,还能加载绝大部分的常见文件h ...

随机推荐

  1. Python库整理

    库名称简介 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端构建格式 ...

  2. 第六章 组件 56 组件-组件中的data

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  3. pod denied问题

    /Users/xxx/Library/Developer/Xcode/DerivedData/xxx-cdsvdpxrnyrnhshklcylefhdtghq/Build/Intermediates. ...

  4. pip install --upgrade pip

    pip install --upgrade pip python库中urllib3 (1.24.3) or chardet (2.2.1) 的版本不兼容 解决如下: # pip uninstall u ...

  5. 14-SQLServer索引碎片

    一.总结 1.数据库的存储本身是无序的,建立聚集索引之后,就会按照聚集索引的物理顺序存入硬盘: 2.建立索引完全是为了提升读取的速度,相对写入的速度就会降低,没有索引的表写入时最快的,但是大多数系统读 ...

  6. Mybatis 向oracle批量插入与更新数据

    插入 <insert id="batchSave" parameterType="java.util.List"> INSERT INTO T_UP ...

  7. Tomcat与Jetty比较

    Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器. 它有一个基本数据模型,这个数据模型就是 Handler(处理 ...

  8. vue路由跳转push,replace,go

    this.$router.replace({  path: "/subpagest" });//不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 his ...

  9. java-并发编程之fork/join框架

    Fork/Join框架是Java 7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架.Fork/Join框架要完成两件事情: 1.任务分 ...

  10. LA 6434 The Busiest City dfs

    Tree Land Kingdom is a prosperous and lively kingdom. It has N cities which are connected to eachoth ...