在iOS中本地和离线呈现网站

时间:2012-04-16 14:03:26

标签: iphone ios ios5 uiwebview

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

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

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

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

似乎很多人只是在加载一个UIWebView页面,而不是讨论如何处理CSS / JS依赖。

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

由于

1 个答案:

答案 0 :(得分:0)

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

关于“重新解释”点,您可以定义

– webView:shouldStartLoadWithRequest:navigationType:
在UIWebViewDelegate中

拦截任何加载任何文件的尝试。你可以在那里改变网址。

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