iOS如何用webView将一套本地的h5加载进来?
在这个过程中我遇到了几个问题,将自己的解决办法分享给大家
首先将一整套H5拖拽到工程中,选项
这里说一下,这几个选项的意思
1、 Copy items into destination group's folder (if needed)
主要是说明,是否要将文件拷贝到工程所在目录。如果不选中,引入文件的时候就仅仅是引入逻辑链接,不拷贝文件。(如果把项目放在另一台电脑上运行,会找不到文件)。如果选中,则将该文件拷贝到工程目录下(系统推荐的方式),虽然引用的也是逻辑链接,但是不会因为引动库文件而引起错误。
当选择拷贝到工程目录下时,Xcode默认将文件夹拷贝到如下路径:与xxx.xcodeproj文件在同一层目录结构.
2、Create groups
导入文件的时候会是逻辑结构,而不是物理结构,黄色的文件夹结构,一般只在你的工程中是文件夹的形式,但是在本地的目录中还是以散乱的形式放在一起的
3、 Create folder references
创建引入的是蓝色的文件夹结构,只能作为资源,整个引用进项目,不能编译代码,也就是说,以folder形式引用进来的文件,不能被放在complie sources列表里面.
所以当我们加载本地H5时,需要引入蓝色文件夹作为资源文件,需要注意的是,html引用css和js使用的相对路径,所以html与css和js要在一个父目录下,类似于(我的index.html文件在html文件夹中)
物理路径引用的时候总是需要加上文件夹名称,导致引用的路径很长,所以我们要根据目录结构进行路径获取和拼接(当前www-->html-->index.html):
通过本地html文件中的内容去加载webView,[self.jxwebView loadHTMLString:htmlString baseURL:baseUrl];
这里的重点是“ baseUrl ” !!!!!!!
如果你碰到这种情况:能成功加载html文件,但是没法引用css和js就像这样
可能的原因:
1、你的baseUrl给错了,这个需要是你要加载文件的根目录
2、你的html文件和css、js文件不在一个父目录下