1. 加载html资源
- 直接加载url 网络上的网页
[self.webView loadRequest:
[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.baidu.com"]]];
- 加载本地的html文件
- 利用
fileURLWithPath
根据fileurl加载
- 利用
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@test.html",NSTemporaryDirectory()]];
[self.webView loadFileURL:url allowingReadAccessToURL:url];
2. 利用`loadHTMLString` 加载htmlString
NSString *html = [NSString stringWithFormat:
@"
图片显示测试
[站外图片上传中……(2)]
"];
// 用到的图片资源所在的路径
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@",NSTemporaryDirectory()]];
[self.webView loadHTMLString:html baseURL:url];
注意:baseURL参数要传入资源文件的目录,比如html中使用到了'test.jpg',在tmp目录下。
3. - (nullable WKNavigation *)loadData:(NSData *)data MIMEType:(NSString *)MIMEType characterEncodingName:(NSString *)characterEncodingName baseURL:(NSURL *)baseURL
加载data 此方法可以加载大部分别的格式
NSString *path = [NSString stringWithFormat:@"%@test.html",NSTemporaryDirectory()];
NSData *Data = [NSData dataWithContentsOfFile:path];
[self.webView loadData:Data MIMEType:@"text/html" characterEncodingName:@"UTF-8" baseURL:[NSURL fileURLWithPath:NSTemporaryDirectory()]];
2. 加载其他类型资源(doc,txt,pdf)
上述用到的fileURLWithPath
和- loadData:(NSData *)data MIMEType:(NSString *)MIMEType characterEncodingName:(NSString *)characterEncodingName baseURL:(NSURL *)baseURL
也可以用来加载其他资源文件
-
fileURLWithPath
txt文件
NSString *path = [[NSBundle mainBundle] pathForResource:@"readme" ofType:@"txt"];
[self.webView loadFileURL:[NSURL fileURLWithPath:path] allowingReadAccessToURL:[NSURL fileURLWithPath:path]];
doc文件
NSString *path = [[NSBundle mainBundle] pathForResource:@"cwm.doc" ofType:nil];
[self.webView loadFileURL:[NSURL fileURLWithPath:path] allowingReadAccessToURL:[NSURL fileURLWithPath:path]];
这里要注意一点,如果doc只在main bundle中使用的,拖入工程文件的时候可能会读取不到对应的path。
原因我们拉入其他资源文件(比如:图片、代码文件等)Xcode都会自动添加到target 的 "Build Phases" 下 "Copy Bundle Resources目录下,但是我们拉过来的文件这里是找不到的,可能是Xcode无法识别这类文件(当我们拉去过来时),所以我们要做的就是把刚才添加的doc文件加入该目录下
如下图
pdf文件
NSString *path = [[NSBundle mainBundle] pathForResource:@"iOS" ofType:@"pdf"];
[self.webView loadFileURL:[NSURL fileURLWithPath:path] allowingReadAccessToURL:[NSURL fileURLWithPath:path]];
-
- loadData:
txt文件
NSString *path = [NSString stringWithFormat:@"%@readme.txt",NSTemporaryDirectory()];
NSData *Data = [NSData dataWithContentsOfFile:path];
[self.webView loadData:Data MIMEType:@"text/plain" characterEncodingName:@"UTF-8" baseURL:[NSURL fileURLWithPath:NSTemporaryDirectory()]];
doc文件
NSString *path = [NSString stringWithFormat:@"%@cwm.doc",NSTemporaryDirectory()];
NSData *Data = [NSData dataWithContentsOfFile:path];
[self.webView loadData:Data MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document" characterEncodingName:@"UTF-8" baseURL:[NSURL fileURLWithPath:NSTemporaryDirectory()]];
pdf文件
NSString *path = [NSString stringWithFormat:@"%@iOS.pdf",NSTemporaryDirectory()];
NSData *Data = [NSData dataWithContentsOfFile:path];
[self.webView loadData:Data MIMEType:@"application/pdf" characterEncodingName:@"UTF-8" baseURL:[NSURL fileURLWithPath:NSTemporaryDirectory()]];