Ios UIWebView 捕获404错误
404错误主要是指访问的页面不存在。原始页面的url失效,这种情况经常发生、很难避免。
在Ios使用UIWebView加载页面时,下面方法不能捕获该错误,给web开发带来很多不便。
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
UIWebView 404错误分两种情况,本地和远程。
注:以下代码都是添加到
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
方法中。
本地文件:
//是否是本地文件请求
NSHTTPURLResponse *response = nil; NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil]; if (response.statusCode == 404) { // code for 404 return NO; } else if (response.statusCode == 403) { // code for 403 return NO; } [webView loadData:data MIMEType:@"text/html" textEncodingName:nil baseURL:[request URL]];