我有一个uiwebview在我的应用程序,显示服务器上承载的HTML文件的数量。如果没有互联网连接,我还想要显示将显示的html文件的本地副本,但我不知道如何执行此操作。我有的.m文件与下面类似。如何加载本地HTML文件,如果没有互联网连接

目前uiwebview将显示远程托管的网页(以下“contact.html”的例子。有没有人能够解释,如果没有可用的互联网我如何加载该文件的本地副本?

#import "ContactMeViewController.h"

@interface ContactMeViewController()

@end

@implementation ContactMeViewController

- (void)viewDidLoad

{

NSString *urlAddress = @"http://www.domain.co.nz/apppages/contact.html";

//Create a URL object.

NSURL *url = [NSURL URLWithString:urlAddress];

//URL Request Object

NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

//Load the request in the UIWebView.

[webview loadRequest:requestObj];

webview.scalesPageToFit = YES;

}

- (void)viewDidUnload

{

[super viewDidUnload];

// Release any retained subviews of the main view.

// e.g. self.myOutlet = nil;

}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

{

return (interfaceOrientation == UIInterfaceOrientationPortrait);

}

@end

我已经更新了.m文件如下,却得到了一个空白的屏幕,没有互联网连接,而不是本地文件加载:

#import "ContactMeViewController.h"

@interface ContactMeViewController (UIWebViewDelegate)

@end

@implementation ContactMeViewController

- (void)viewDidLoad

{

NSString *urlAddress = @"http://www.kuranimarsters.co.nz/apppages/contact.html";

//Create a URL object.

NSURL *url = [NSURL URLWithString:urlAddress];

//URL Request Object

NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

//Load the request in the UIWebView.

[webview loadRequest:requestObj];

webview.scalesPageToFit = YES;

}

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {

if (-1009 == kCFURLErrorNotConnectedToInternet) {

// if we can identify the error i.e, no internet connection

[self loadHtmlFile];

}

}

-(void)loadHtmlFile

{

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"contact.html"];

NSString *content = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:NULL];

NSString* htmlString = [NSString stringWithContentsOfFile:content encoding:NSUTF8StringEncoding error:nil];

[webview loadHTMLString:htmlString baseURL:nil];

}

- (void)viewDidUnload

{

[super viewDidUnload];

// Release any retained subviews of the main view.

// e.g. self.myOutlet = nil;

}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

{

return (interfaceOrientation == UIInterfaceOrientationPortrait);

}

@end

2015-03-25

KGNZ

+0

使用委托,当错误出现,加载本地HTML网页... –

2015-03-25 06:39:27

+0

您可以尝试https://github.com/rnapier/RNCachingURLProtocol –

2015-03-25 06:42:14

互联网浏览本地html,如何加载本地HTML文件,如果没有互联网连接相关推荐

  1. c语言加载本地图片,Unity加载本地图片的2种方式

    1. 使用 WWW 加载,详细查看 unity3d 官方文档. 2. 使用 System.IO 加载,lua 代码如下: local File = luanet.import_type("S ...

  2. web加载本地html,WKWebview加载本地html问题汇总

    最近做的功能,有部分逻辑是h5实现的,我们采用了本地+网络的机制来提高h5的显示速度,首先说一下机制, 1.本地存在一份html文件+校验码 2.程序启动获取远程校验码 3.远程校验码与本地校验码,比 ...

  3. uiwebview 读取本地html,UIWebView加载本地HTML文件

    一.准备HTML文件及其资源文件 使用UIWebView加载本地的HTML文件 index.html,在index.html中引用了本地的图片.CSS文件.JS文件以及外部的图片. index.htm ...

  4. UIWebView如何加载本地图片

    UIWebView如何加载本地图片 UIWebView加载本地图片是有实用价值的.比方说,有时候我们需要本地加载静态页来显示相关帮助信息,而这些帮助信息当中含有很多很多的富文本,用代码实现难度较大,这 ...

  5. rn webview加载本地静态html,RNwebview加载本地html.htm

    RNwebview加载本地html RNwebview加载本地html android下要在webview加入属性 style="COLOR: #95c995; FONT-STYLE: it ...

  6. Tampermonkey油猴 加载本地文件

    Tampermonkey油猴 加载本地文件 1. 加载本地脚本 common.js 1: 设置油猴权限 2: 引用本地js 2. 加载本地文件 2.1 用 GM_getResourceText 加载资 ...

  7. Unity 浏览本地图片并加载

    在开发过程中,经常会有在软件中浏览本地文件的需求,今天就在Unity中实现一下浏览本地图片并加载的小功能. 功能预览: 其实实现起来很方便.注释中都有代码,只需要两个代码,一个是调用系统的窗口,一个是 ...

  8. ios网络学习------4 UIWebView的加载本地数据的三种方式

    ios网络学习------4 UIWebView的加载本地数据的三种方式 分类: IOS2014-06-27 12:56 959人阅读 评论(0) 收藏 举报 UIWebView是IOS内置的浏览器, ...

  9. World Wind Java开发之八——加载本地缓存文件构建大范围三维场景(

    http://blog.csdn.net/giser_whu/article/details/42044599 上一篇博客主要是针对小文件直接导入WW中显示,然而当文件特别大时,这种方式就不太可行.因 ...

最新文章

  1. 智能驾驶开发的几个问题
  2. java人工洗牌窗口程序_求解,用JAVA写洗牌与发牌模拟程序
  3. python book.save_2.3.1. 将二进制数据存为文件:saveBinDataToFile
  4. sap 客户信贷配置与管理解析
  5. streaming api_通过Spring Integration消费Twitter Streaming API
  6. oracle11g db files,oracle11g整个DB迁移
  7. vscode remote免密登录
  8. 视频教程-思科入门CCNA初级网络工程师视频课程-网络技术
  9. AJax视频教程适高级篇+源码(2G)25讲
  10. 基于北斗GNSS高精度形变位移监测系统
  11. Mac 配置MySQL环境变量
  12. 公交一卡通交通卡iphone“钱包”已有此卡无法添加的解决办法
  13. 2021年西电计算机学院软专复试问题总结
  14. centOS7下安装配置nagios
  15. 用上周的作业:画一个太阳、地球、月亮的运动模型来剖析OpenGL中变换乃至整个绘制的秘密
  16. (SELECT SUBSTRING(AreaCode FROM 0 FOR 5)FROM sysarea) = '810103'
  17. 组的迷惑行为之 Linux用户的初始用户组(主组,基本组)与有效用户组(附加组)
  18. 厉建宇的阿里巴巴离职信
  19. 在Linux上使用迅雷解决方案xware
  20. 关于Excel不能多开多个窗口的问题

热门文章

  1. Ubuntu 14.04 设置静态IP
  2. Error creating bean with name ‘entityManagerFactory‘ defined in class path resource解决方案
  3. Eclipse导入maven项目报Resources文件夹红叉问题解决方案
  4. git can‘t merge 的处理 代码冲突问题的解决
  5. 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换
  6. RestTemplate HttpMessageConverter报错的解决方案no suitable HttpMessageConverter
  7. 【白皮书下载】2020年数字营销与商业增长白皮书.pdf
  8. 【白皮书分享】2020双十一五大趋势洞察白皮书.pdf(附下载链接)
  9. 【报告分享】85后、95后宝妈人群洞察报告.pdf(附下载链接)
  10. 推荐时代的内容理解技术探索.pdf(附下载链接)