具体来说——如何在不更改原始 HTML 内容(删除目录)的情况下从它们各自的目录(images/、css/、js/)加载所有资产?
我正在使用此代码将 index.html 加载到 UIWebview 中:
NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"];
NSString *html = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[webView loadHTMLString:html baseURL:baseURL];
然后我的html看起来像这样:
...
<link rel="stylesheet" type="text/css" href="css/main.css" />
<script type="text/javascript" src="js/classes.js"></script>
<script type="text/javascript" src="js/animate.js"></script>
etc...
如果我删除 js/、css/ 和 images/,一切正常,因为 iOS 认为一切都在我的包的根目录中。但是,这意味着我不能跨项目使用相同的代码而不将其全部转储到一个目录中(蹩脚)。我的工程师无法处理这种混乱。
提前致谢。