ios开发学习iOSiOS开发攻城狮的集散地

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

2017-07-12  本文已影响4774人  1b3bd36d9d21

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

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

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

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

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

DingTalk20170712224312.png

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

DingTalk20170712224502.png

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

- (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文件问题就搞定了

上一篇下一篇

猜你喜欢

热点阅读