美文网首页ios开发学习iOSiOS开发攻城狮的集散地
iOS WKWebView 加载本地HTML、CSS、JS文件

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

作者: 1b3bd36d9d21 | 来源:发表于2017-07-12 22:51 被阅读4774次

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

相关文章

网友评论

  • 艾欧尼亚:怎么加载js呢,网络请求回来的html 字符串,要给这个字符串加上js,这是时候怎么做
  • 人世间1207:感谢楼主解决我加载不了css文件的问题
    1b3bd36d9d21:@君扬科技 客气,这个问题确实不好发现
  • 虾米斗士:厉害,解决我的问题了。👍
    1b3bd36d9d21::stuck_out_tongue_winking_eye: 那就好哈
  • Tioks:厉害 搞定了!
  • a33b0e220e16:[self.viewModel getHtmlString] 这个是哪里来的啊
  • luochuanAD:未解决,有demo吗?

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

本文链接:https://www.haomeiwen.com/subject/fpeihxtx.html