[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日,思思加油!
[iOS]UIWebView返回和NSURLErrorDomain-999的更多相关文章
- ios UIWebView截获html并修改便签内容(转载)
ios UIWebView截获html并修改便签内容 博客分类: iphone开发iphone开发phoneGap uiwebviewstringByEvaluatingJavaScriptFromS ...
- IOS UIWebView截获html并修改便签内容,宽度自适应
需求:混合应用UIWebView打开html后,UIWebView有左右滚动条,要去掉左右滚动效果: 方法:通过js截获UIWebView中的html,然后修改html标签内容: 实例代码: 服 ...
- ios UIWebView截获html并修改便签内容
需求:混合应用UIWebView打开html后,UIWebView有左右滚动条,要去掉左右滚动效果: 方法:通过js截获UIWebView中的html,然后修改html标签内容: 实例代码: 服务器端 ...
- iOS UIWebView 获取内容实际高度,关闭滚动效果
本文转载至 http://my.oschina.net/Khiyuan/blog/341535 iOS UIWebView 获取内容实际高度,关闭滚动效果 近期做东西,将 UIWebView 嵌套 ...
- iOS UIWebView获取403/404
问题描述 与WindowsPhone不同,iOS UIWebView并不认为403/404这种情况下页面访问是失败的,这也情有可原,但有时候,我们需要对WebView所遇到的403/404进行处理. ...
- iOS UIWebView与JavaScript的交互 相关资料
UIWebView自适应宽度 iOS UIWebView中javascript与Objective-C交互.获取摄像头 iOS中JavaScript和OC交互 iOS与js交互,获取webview完整 ...
- iOS UIWebView中javascript与Objective-C交互、获取摄像头
UIWebView是iOS开发中常用的一个视图控件,多数情况下,它被用来显示HTML格式的内容. 支持的文档格式 除了HTML以外,UIWebView还支持iWork, Office等文档格式: Ex ...
- iOS - UIWebView
前言 NS_CLASS_AVAILABLE_IOS(2_0) __TVOS_PROHIBITED @interface UIWebView : UIView <NSCoding, UIScrol ...
- IOS UIWebView(浏览器控件)
什么是UIWebViewUIWebView是iOS内置的浏览器控件系统自带的Safari浏览器就是通过UIWebView实现的 UIWebView不但能加载远程的网页资源,还能加载绝大部分的常见文件h ...
随机推荐
- Codeforces Round #454 D. Power Tower (广义欧拉降幂)
D. Power Tower time limit per test 4.5 seconds memory limit per test 256 megabytes input standard in ...
- linux syslog支持 ubuntu
linux syslog支持 linux syslog支持 linux syslog支持 ??????? https://wenku.baidu.com/view/8cc6b50a0202074 ...
- 第二天Beta冲刺
这个作业属于哪个课程 <课程的链接> 这个作业要求在哪里 <作业要求的链接> 团队名称 <做个一亿的小项目> 这个作业的目标 完成第二天Beta冲刺 作业正文 .. ...
- C# 常用方法——base64字符串转图片
其他常用方法详见:https://www.cnblogs.com/zhuanjiao/p/12060937.html /// <summary> /// base64编码的文本转为图片 / ...
- Python数学常量
常量 描述 pi 数学常量 pi(圆周率,一般以π来表示) e 数学常量 e,e即自然常数(自然常数).
- luogu 3441 [POI2006]MET-Subway 拓扑排序+思维
Description 给出一棵N个结点的树,选择L条路径,覆盖这些路径上的结点,使得被覆盖到的结点数最多. Input 第一行两个正整数N.L(2 <= N <= 1,000,000, ...
- 安装java1.8.0
安装java 1.删除自带jdk rpm -e --nodeps `rpm -qa | grep java` 2.查看yum库中有哪些jdk版本. yum search java | grep jdk ...
- git commit -m "XX"报错 pre -commit hook failed (add --no-verify to bypass)问题
在同步本地文件到线上仓库的时候 报错 pre -commit hook failed (add --no-verify to bypass) 当你在终端输入git commit -m "xx ...
- IDEA项目里Maven 的Plugins出现红线的解决方法
1.删除项目里的libraries(快捷键ctrl+shift+alt+s):Project Settings->Libraries,全选删除 2.删除之前项目产生的target 3.然后再in ...
- phpmyadmin 导入sql报错(sql为phpstudy内置数据库导出来)
解决方法 1.打开sql,把头部注释去掉