【问题标题】:Cross-Platform Way of Creating Safari Webarchives创建 Safari Webarchives 的跨平台方式
【发布时间】:2010-09-18 04:26:51
【问题描述】:

我一直在搜索,但没有找到任何可以创建 Safari 网络存档格式的工具的参考。

有没有人有关于创建这种格式的代码的指针,或者至少有格式参考文档?

理想情况下,我想构建一个工具,该工具可以获取目录并拆分网络存档,以便加载到 iPhone 中。

【问题讨论】:

    标签: ios iphone uiwebview safari webarchive


    【解决方案1】:

    尝试过 textutil,但仅使用 Cocoa 文本系统,因此在 css、js 等方面失败。

    有一个不错的 GitHub 项目:https://github.com/takebayashi/STWebArchiver

    它使用 Webkit 来编写 .webarchive 文件。需要根据您的需要进行一些定制……

    【讨论】:

      【解决方案2】:

      不是跨平台,而是在 Mac 上

      textutil -convert webarchive whatever.html
      

      完成这项工作。不确定您是否可以轻松地包含图像等。

      【讨论】:

      • 使用man textutil 查看文档。网络存档有很多选择。
      【解决方案3】:

      幸运的是,Webarchive 创建是 Webkit 的一部分,因此您可以使用以下内容在 Mac 上使用它们:

      http://developer.apple.com/DOCUMENTATION/Cocoa/Reference/WebKit/Classes/WebArchive_Class/Reference/Reference.html

      或者,使用此源代码来了解使用中的格式:

      http://trac.webkit.org/browser/trunk/WebKit/mac/WebView/WebArchive.mm

      【讨论】:

      【解决方案4】:

      扩展 Ben 所说的内容:CFLite(Core Foundation 的跨平台开源子集)附带了一个 plist 解析器。如果您可以链接到它,那么使用.webarchive 文件应该非常简单,它们只是将所有文件(HTML、CSS 等)连接成一个的属性列表。

      还有其他库,例如 Perl 的 CPAN 上的 Mac-PropertyList

      【讨论】:

      【解决方案5】:

      我相信 .webarchives 的格式没有正式记录,但它只是一个 plist。您可以在 Property List Editor 中打开它并检查其内容。复制其中的大部分(如果不是全部)应该不难。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-03
        • 2010-12-06
        • 2017-08-11
        • 1970-01-01
        • 2020-06-18
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多