2011-05-30 44 views
5

编辑:iPad加载一些本地的HTML与图像和JavaScript的Web视图

所以答案是在这个岗位:Loading javascript into a UIWebView from resources

你会发现你需要知道使用目录有加载HTML5应用的一切,只要确保在Xcode项目中放置文件,单击单选按钮,读取“为所有添加的文件夹创建文件夹引用”。然后,只需使用我在那里添加的链接上的代码。

感谢塞尔吉奥的帮助。


我已经经过了几次StackOverflow,没有找到的代码可以显示我的html5应用程序的图像。困难的部分似乎是从不同的子目录加载文件。我不想将所有内容都放在根目录下,然后在Xcode中使用这些组,因为我不得不重新考虑很多HTML5代码。

我想建立一个轻的容器,而不必使用PhoneGap。除了PhoneGap带有更大的Bug包(我测试了我们的应用程序,它在iPad上崩溃并在iPhone上工作)。处理事情和Cocoa Touch的HTML5方面已经很难了。

因此,这里是我如何加载HTML页面:

[webView loadRequest:[NSURLRequest requestWithURL: 
     [NSURL fileURLWithPath:[[NSBundle mainBundle] 
     pathForResource:@"index" ofType:@"html"]isDirectory:NO]]]; 

我已经发现了一些解决方案,它让我更接近“创建任何附加文件夹,文件夹引用”当文件添加到资源文件夹,我现在可以看到一些正在加载的图像。 JS似乎没有正常工作。我已经测试了这个应用程序从本地服务器上运行的URL加载它,它在这种情况下工作。

所以CSS显然工作,图片太多,但JS似乎是一个问题。

希望我很快会找到答案。


(这是当我包括文件夹中的错误的方式)

所以当你们不必想知道什么我看到(它看起来对我来说, js和图像不加载,我也对HTML5应用子目录):

enter image description here


有趣的帖子这是与此相关的:

– loadHTMLString:baseURL: 

的唯一的事情你应该知道:

Loading javascript into a UIWebView from resources Link to resources inside WebView - iPhone

+0

你说你的图片不显示;是HTML的其余部分(即文本)呈现? – sergio 2011-05-30 19:05:37

+0

是的,文本加载。对于那个很抱歉。尽管如此,我还没有测试过链接是否有效。我做了太多的测试,我忘了测试最新的测试。 – HotFudgeSunday 2011-05-30 19:08:22

+0

您是否将所有图片都包含在您项目的资源组中?或者他们在哪里托管? – sergio 2011-05-30 19:13:17

回答

6

事实上,你可以通过以下方式加载在UIWebView本地HTML的是如何指定baseURL以便它进入您的本地资源目录。所以,如果你添加你的HTML:

<img src="localImage.png" /> 
<link rel="stylesheet" type="text/css" href="theme.css" /> 
<script type="text/javascript" src="filename.js"></script> 

这将在你的项目资源中找到。

它绝对有效。可能有一些“问题”与您的HTML和JavaScript源(例如,使用子目录或绝对URL)。

编辑:

如果您需要在目录来组织你的资源(图片和文字),您的应用程序的资源目录内,看到这种S.O. topic

为了获取路径到你的资源目录,使用:

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]; 

另一种可以承载你所有的文件在Documents目录您的应用程序(这是留给用户的内容)。在这种情况下,我想你可以下载你的应用程序的档案,并将其安装在文档目录中。

+0

我在HTML5应用程序的路径上使用子目录。这会成为一个问题吗?也许这就是问题所在。我知道,我有很多图片,有些图片有重复的名称(我使用了一些新的代码),这将是一个问题。我想知道phonegap如何做到这一点。他们只是通过寻找文件或类似的目录搜索?在Phonegap上,您甚至不需要将文件作为资源。你所需要的只是index.html。 – HotFudgeSunday 2011-05-30 19:11:14

+0

我回顾了我的答案,以包含更多可以帮助您的信息。此外,提示如何在资源文件夹内创建目录。 – sergio 2011-05-30 19:30:26

+0

我会试一试,谢谢塞尔吉奥。我会发布我的结果。 – HotFudgeSunday 2011-05-30 19:49:30

相关问题