iOS WKWebView加载本地/沙盒HTML及css、ima
注意这里加载的是本地的不是沙盒里的,加载沙盒的方法在最下面。
先上代码:
NSString *path = [[NSBundle mainBundle] pathForResource:@“local.html" ofType:nil];
[_wkWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]];
注意!注意!注意!
如果 html 如果用到css和image 保证css和image在同一目录下。如图1
图1html使用css、image路径应该是这样的
2、如果不在同一级目录需要创建对应的实体文件夹 如图2
图2对应的html使用路径
html资源使用路径注意这样是加载不出来的,因为打包之后所有的资源文件全都放在了一个目录下,这时候 图片和css资源的路径就会找不到,也就加载不出来。
有两种方式解决这种问题:
方法一、把html使用资源的路径 改成 上面第一种方式 。
方法二、为css和images创建实体文件夹
daugn duang daung
css、imags实体文件夹 ipa包里面的路径实体文件夹 打包之后在包里也会有对应的文件夹。对应的路径也就OK了。
iOS 8.3、9.3.2 亲测 可用。
第一次发简书 哪里不对的地方,多多指教。
评论里回复沙盒路径怎么弄 在这里添加下。
沙盒路径文件加载方法:
NSString *document = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
NSString *path = [document stringByAppendingString:@"/park.html"]; WKWebView *webView =[[WKWebView alloc]initWithFrame:CGRectMake(0, 0, 300, 400)];
[self.view addSubview:webView];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path isDirectory:NO]]];
这里资源的路径和上面方法二 一样的。