繁体   English   中英

我如何知道页面未能加载到UIWebView中而不是被用户“停止”?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM