IOS WKWebView加载本地H5以及css,js等样式

两点非常坑爹的地方:第一点,就是导入前端给你的h5包的时候

导入h5的包


这里如果选择第一个,会无法加载js和css样式以及img,因为大部分前端这些东西都是写的绝对路径。如果你要选第一个groups,那么你就要去修改h5里面的路径,非常的繁琐,而且前端维护也很难受。

这里选择第二个。导入Create folder references。你会发现是个蓝色的文件夹。然后,不要急着去用你的[NSBundle mainBundle]查找路径,因为这里有个坑。你需要去添加


这里加入刚刚导入进来的那个蓝色文件夹。

然后你就可以去添加到你的wkwebView了。然后,第二个坑,网上很多都是用

[_wkWebView loadRequest:request];

这种加载方式去加载本地的html,结果你会发现,模拟器就是不出来,全空白的。因为在ios9以后,这个方法不允许加载本地的html。(知道的人觉得很简单,不知道的,要纠结很久。)

NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"alwaysOx"];

NSURL *fileURL = [NSURL fileURLWithPath:path];

[_webView loadFileURL:fileURL allowingReadAccessToURL:fileURL];

正确的方式是用这个loadFileURL:allowingReadAccessToURL:的方法,就可以加载出html了,而且有css和js以及img的。



做个记录,这种坑,以后谁遇到了,可以避免。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容