2012-04-16 49 views
0

我正在为客户开发一个应用程序,其中的一个要求是一系列复杂(多文件,JS,CSS等)网站必须脱机呈现,而无需任何网络连接完全需要。在iOS本地和离线呈现网站

所以我有所有的HTML内容文件夹,并可以将它们添加到我的XCode项目中......但现在我需要显示它们。

当你只有一个HTML文件时,UIWebView很好......但是JS和CSS的相对路径不能转换。

什么是最好这样做的方法。我见过一些潜在的选择。一种方法是在本地运行超级基本Web服务器,将所有文件转储到/文件(或附近)并从那里提供服务......第二种方法是以某种方式使UIWebView重新解释路径,以便它们指向右侧当地放置...我不确定是否可能,但我已经看到它提到。

好像很多人只是加载一个UIWebView页面,而不是讨论如何处理CSS/JS依赖关系。

任何人有任何明智的想法,链接等?

感谢

回答

0

我认为,如果你把你的HTML/CSS/JS树到Xcode项目,然后选择“创建任何附加文件夹,文件夹引用”(而不是“递归创建任何添加的文件夹组”) ,那么你的包将包含HTML/CSS/JS文件夹层次结构(而不​​是所有文件的展开列表)。这将保留相对路径。

至于“重新诠释”点,你可以在你UIWebViewDelegate定义

– webView:shouldStartLoadWithRequest:navigationType: 

在加载任何文件拦截任何企图。在那里,您可以即时更改网址。

另外,请看Rob Napier: Drop-in offline caching for UIWebView这篇有趣的文章。