[英]How do I know when a page has failed to load in UIWebView as opposed to being “Stopped” by the user?
我的应用程序中有一个UIWebView,用于提供Web浏览功能。
我的工具栏上有一个按钮
-(void)stopLoading;
在UIWebView上。 问题在于,当此方法发送到Web视图时,委托会收到
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;
信息。 伴随此调用的错误是: 操作无法完成。 (NSURLErrorDomain错误-999。)
我还使用didFailLoad消息来判断页面是否实际加载失败-在这种情况下,我会向用户显示html格式的消息,以向他们传达此失败信息。
因此,问题在于,如果用户单击“停止”按钮,则会显示错误页面,而不是仅显示在停止之前加载的页面的任何部分。
我曾希望NSError.h包含一个可以与之进行比较的错误代码枚举-但似乎我必须根据对日志中出现的错误代码的观察来自行编写-小于理想的,因为它们将来可能会改变...
任何建议都很好,谢谢。
这些错误代码在Foundation.framework的NSURLError.h中定义
我能找到解决此问题的最佳方法是使用webView给出的错误代码创建一个枚举。
看起来他们并不会改变,但是如果这样做,嗯-哼。
因此,现在,在失败加载方法中,我仅将错误对象中的错误代码与枚举进行比较,就可以看到发生了什么-看起来像这样:
typedef enum {
BrowserErrorHostNotFound = -1003,
BrowserErrorOperationNotCompleted = -999,
BrowserErrorNoInternetConnection = -1009
} BrowserErrorCode;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.