iOS WKWebView 加载本地HTML、CSS、JS文件

在UIWebView中加载本地HTML文件、CSS文件、JS文件没有任何问题,正常载入和现实在UIWebView上。

但是在WKWebView中加载本地HTML文件、CSS文件、JS文件,往往加载不上,导致界面样式和事件远远不是自己想要的。网上搜索许久都没有搞定,自己翻墙和研究终于找到新大陆。

现在就和大家分享下,本人在项目中使用WKWebView加载本地CSS文件没有效果的解决办法。方法原理在HTML文件、JS文件同样适用。

首先将资源文件放在一个目录下,以备后期调用

目录结构如下,随意放,只要知道路径就可以

DingTalk20170712224312.png

重点来了:
在WKWebView加载HTML代码或者本地HTML文件时进行处理
直接上源码了,创建WKWebView代码就不上了,直接来加载代码

DingTalk20170712224502.png

重点之处在于baseUrl处,baseUrl需要设置本地资源文件所对应的路径

/// [self.viewModel getHtmlString] 此方法是HTML串
- (void)showInWebView {
    NSURL *baseUrl = [NSURL URLWithString:@"file:///assets/"];
    [self.webView loadHTMLString:[self.viewModel getHtmlString] baseURL:baseUrl];
}

这样设置就可以正常加载CSS文件并且显示

同时贴上 CSS文件使用方式。这里没有什么特别的,直接使用NSBundle加载CSS文件,但是不设置上面的baseUrl,这个CSS文件是不能加载的

DingTalk20170712224837.png

如果在不行,就把对应的HTML文件或者CSS文件拷贝到,对应执行类文件(加入执行WebView加载的方法在A类中,就把对应的HTML、CSS文件拷贝到当前目录中)同目录下,在试试

到此WKWebView加载本地HTML文件、CSS文件、JS文件问题就搞定了

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

推荐阅读更多精彩内容