[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 ...
随机推荐
- 下载好的vue项目如何在自己电脑环境上运行,步骤!!
本文链接:https://blog.csdn.net/qq_39309900/article/details/84837659首先第一步,需要安装node.js 下载地址:https://nodejs ...
- jquery中.each()方法遍历循环如何终止方法
使用return false 终止循环 function checkStar(obj){ var flag=false; //获取本节点星级 var star = obj.getAttribute(& ...
- CSS3 zoom 属性
zoom:normal | <number> | <percentage> 默认值:normal normal: 使用对象的实际尺寸. <number>: 用浮点数 ...
- 使用CreateWindowEx创建子窗口的注意事项
比如: 使用 HWND child = CreateWindowEx(0,L"childclass",NULL,WS_CHILD | WS_VISIBLE | WS_CLIPSIB ...
- Linux( Ubantu ) 的简单使用
1.Linux常用的快捷键 Ctrl + Alt+ T --打开终端 Ctrl + Shift + C --复制 Ctrl + Shift + V --粘贴 Ctrl + Shift + A --光标 ...
- 关于C# Dockpanel的一些入门的基本操作
关于C# Dockpanel的一些入门的基本操作 原文链接:https://blog.csdn.net/Lc1996Jm/article/details/51881064 一.引用: 1.建立一个Wi ...
- 学习shell(二)
条件分支: (条件表达式的中括号里面 空格不可以省略) = ] then echo '2 = 2'; else echo '2 != 2'; fi # 上面的代码不使用缩进, 并不会出错, 但不应该 ...
- Linux硬盘安装步骤
网上找了许多用DVD镜像硬盘安装FC5的文章,可是都不系统,为了全中国的广大菜鸟们,云计算架构师 抽了很多时间来写这篇详细的安装文章,希望对初次接触LINUX或者刚刚入门的朋友有所帮助. 一.预备知识 ...
- 去除弹窗自带url提示
window.alert = function(name){ var iframe = document.createElement("IFRAME"); iframe.style ...
- 移动端布局Rem
一.最好用没有之一 http://www.jianshu.com/p/b00cd3506782 虽然博主说这个方案已经过期了 但是新方案还没有理解 就接着沿用这个 可以根据自己常用的设计稿的宽度修改 ...