检测并自定义UIWebView的"无法读取文档"错误

cet*_*cet 5 iphone uiwebview uiwebviewdelegate

我正在测试一个包含许多不同文档类型的UIWebview - .xlsx,.jpg等等 - 它打开了大部分文档就好了.我不时会打开一个本地文件,这条消息会出现在Web视图中:

Unable to Read Document
An error occurred while reading the document
Run Code Online (Sandbox Code Playgroud)

我不关心"为什么"这个错误发生 - 例如,当我向UIWebView提供垃圾文件(故意)时,它就会发生.问题是我无法弄清楚如何检测"何时"发生这种情况.它不会触发web视图:didFailLoadWithError,它不会触发NSException(通过@try&@catch),当我在检查文件webViewDidFinishLoad,webView.request.HTTPBody为空.

任何人都知道如何检测UIWebView何时无法显示内容?

Dip*_*ara 3

just call uiwebview delegate method 

- (void)webViewDidStartLoad:(UIWebView *)webView
{

}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSString *html = [webView stringByEvaluatingJavaScriptFromString:
                      @"document.body.innerHTML"];
    if ([html rangeOfString:@"Unable to Read Document."].location == NSNotFound) {

       NSLog(@"NO Error");

    }
    else
    {
//        NSLog(@"File contains Error");
    }

}
Run Code Online (Sandbox Code Playgroud)