3

我正在使用 UIWebview 来显示本地 HTML 文件中提供的内容。

然而问题是页面没有正确显示,只有核心 html 被渲染,没有显示 css 样式或媒体内容。对于这个项目,我将整个 web 结构放在它们各自的文件夹中,并放在 Xcode 项目中(所有内容都显示在蓝色文件夹中)。

构建的应用程序包包含 Web 文件夹和所有内容,所以我不确定它为什么不能正确显示。

这是我用来加载和显示网页的代码:

NSString *html = [[NSString alloc]initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"www/content/island-1" ofType:@"html"] encoding:NSUTF8StringEncoding error:NULL];


NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[webView loadHTMLString:html baseURL:baseURL];

在 html 文件中,以下是对某些内容的代码引用:

<script type="text/javascript" src="../static/js/custom-event.js"></script>

<script type="text/javascript" src="../static/js/touch-source/Browser/Features.Touch.js"></script>

<link rel="stylesheet" href="../static/css/islands_popup.css">
<link rel="stylesheet" href="../static/css/content.css">

所有文件夹和文件都正确无误。有谁知道我可能做错了什么?

4

2 回答 2

2

XCode 不使用文件夹,它只使用它的包来存储所有数据。所以我建议你使用:

 <script type="text/javascript" src="custom-event.js"></script>  

例如:

<script type="text/javascript" src="../static/js/custom-event.js"></script>.

与您的 css 和其他文件相同。此外,如果我们谈论.js文件,请务必从以下位置删除文件:

目标——>构建阶段——>编译源

并添加到

目标——>构建阶段——>复制捆绑资源

因为当您第一次将.js文件添加到项目时,XCode 以某种方式认为它需要编译。

于 2012-09-25T20:54:30.537 回答
0

您的相对引用(即“../[目录]/[文件名]”)是否正确?

就我个人而言,我避免使用这些相对源引用,而是使用 root relative:即 /[directory from root of website]/[file name]

于 2012-07-31T21:02:26.293 回答