【问题标题】:Presenting a website locally and offline in iOS在 iOS 中本地和离线展示网站
【发布时间】:2012-04-16 14:03:25
【问题描述】:

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

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

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

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

似乎很多人只讨论加载单个 UIWebView 页面,并没有过多讨论如何处理 CSS/JS 依赖项。

有人有什么好的想法、链接等吗?

谢谢

【问题讨论】:

    标签: iphone ios ios5 uiwebview


    【解决方案1】:

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

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

    – webView:shouldStartLoadWithRequest:navigationType:
    

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

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

    【讨论】:

      猜你喜欢
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2022-11-03
      相关资源
      最近更新 更多