iOS 下加载本地HTML/js/css/image 等路径问题

今天在项目中遇到一个问题:我将H5的文件拖入项目中,在webView上添加H5,运行时发现H5的样式与图片等都没


屏幕快照 2016-07-06 11.33.22.png

有了。经过多种测试后发现:是路径的问题。


在ios项目下添加本地HTML/js/css/image 当拖入项目时有两种选择:

一个是 Create groups for any added folders (创建虚拟结构-包结构)

一个是 Create folder references for any added folders (创建实体结构)

  • 如果选择前者,当APP编译过后引入的文件会被放在同一个文件夹下面会忽略你原本的文件夹。因此在HTML文件中的路径就会出现问题。如果你选择了前者那么HTML文件中引入CSS,js,图片等就不需要添加前缀路径了,直接写文件名就行。
    引入文件方式:
NSString * htmlPath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSString * htmlString = [NSString stringWithContentsOfFile:htmlPath encoding:NSUTF8StringEncoding error:nil];
 NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]];
[self.webView loadHTMLString:htmlString baseURL:baseURL];
  • 如果选择后者,当APP编译过后引入的文件会按照原本的目录结构存放,这个时候就需要添加相对路径。
    引入文件方式:
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"huaiha/index.html" relativeToURL:[[NSBundle mainBundle] bundleURL]]]];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容