iOS开发加载远程和本地的Html文件

2019-03-20  本文已影响0人  子小每文

HTML文件包含了好多信息量,类似于一个SO库,里面有视频等等的文件和图片需要进行加载。

//注视:文件还有二部,进行展示下载等等
本地的话需要读取本地的相对地址:
htmlName是(******.html)文件名称
//获取地址
NSString *bundlePath=[[NSBundle mainBundle]bundlePath];
NSString *path=[bundlePath stringByAppendingPathComponent:htmlName];
NSURL *url=[NSURL fileURLWithPath:path];
NSURLRequest *request=[NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
进行加载就OK了,现在UIWebView改成了WKWebView。相对简单点,进行添加View就OK。
当时领导让加载好几百MB的html文件,当时就出现了问题,也许就文件过大,也许里面的文件UIKit不支持,加载都是动态旋转。下面的进行不下去了,加载不出来了。小的html试了试是没有问题。

如果是新包的话,记得开启Plist的http
添加 App Transport Security Settings
在上面的目录下在添加Allow Arbitrary Loads 设置YES

下面说下加载远程的Html文件,这个相对简单些
NSURL *url = [NSURL URLWithString:@"http://www.baidu.test.cn/Smart_House/story_html5.html"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
完美加载。

HTML5加载相对路径
self.webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0,SCREENWIDTH, SCREENHEIGHT)];
//添加到view中
[self.view addSubview: self.webView];
//获取bundlePath 路径
NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
//获取本地html目录 basePath
NSString *basePath = [NSString stringWithFormat: @"%@/www", bundlePath];
//获取本地html目录 baseUrl
NSURL *baseUrl = [NSURL fileURLWithPath: basePath isDirectory: YES];
NSLog(@"%@", baseUrl);
//html 路径
NSString *indexPath = [NSString stringWithFormat: @"%@/story.html", basePath];
//html 文件中内容
NSString *indexContent = [NSString stringWithContentsOfFile:
indexPath encoding: NSUTF8StringEncoding error:nil];
//显示内容
[self.webView loadHTMLString: indexContent baseURL: baseUrl];

上一篇下一篇

猜你喜欢

热点阅读