0

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

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

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

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

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

任何人有任何好主意,链接等?

谢谢

4

1 回答 1

0

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

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

– webView:shouldStartLoadWithRequest:navigationType:

在您的 UIWebViewDelegate 中拦截任何加载任何文件的尝试。在那里您可以随时更改网址。

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

于 2012-04-16T14:12:45.477 回答