我需要一个UIWebView来显示一个html页面。如果互联网不可用,它将显示上次下载的版本。如果有互联网,那么它会下载最新版本并替换并显示刚刚下载的版本。我怎样才能做到这一点?感谢
答案 0 :(得分:0)
您可以实现webViews委托webViewDidFinishLoad:
方法来获取请求并再次加载它。由于它刚刚完成加载,我们可以假设它被缓存并使用同步网络加载它。存储结果。当网络不可用时,使用loadData:MIMEType:textEncodingName:baseURL:
将结果加载到webView中。当网络可用时,只需致电loadRequest:
进行刷新。
另一种选择是将stringByEvaluatingJavaScriptFromString:
与javascript一起使用:
document.getElementsByTagName('html')[0].outerHTML;
并使用loadHTMLString:baseURL:
但这两个只适用于没有图像,声音等的纯HTML。
第三种选择是在网络不可用时使用NSURLRequestReturnCacheDataDontLoad
。见NSURLRequest
您也可以查看NSURLCache