【发布时间】:2010-09-18 04:26:51
【问题描述】:
我一直在搜索,但没有找到任何可以创建 Safari 网络存档格式的工具的参考。
有没有人有关于创建这种格式的代码的指针,或者至少有格式参考文档?
理想情况下,我想构建一个工具,该工具可以获取目录并拆分网络存档,以便加载到 iPhone 中。
【问题讨论】:
标签: ios iphone uiwebview safari webarchive
我一直在搜索,但没有找到任何可以创建 Safari 网络存档格式的工具的参考。
有没有人有关于创建这种格式的代码的指针,或者至少有格式参考文档?
理想情况下,我想构建一个工具,该工具可以获取目录并拆分网络存档,以便加载到 iPhone 中。
【问题讨论】:
标签: ios iphone uiwebview safari webarchive
尝试过 textutil,但仅使用 Cocoa 文本系统,因此在 css、js 等方面失败。
有一个不错的 GitHub 项目:https://github.com/takebayashi/STWebArchiver
它使用 Webkit 来编写 .webarchive 文件。需要根据您的需要进行一些定制……
【讨论】:
不是跨平台,而是在 Mac 上
textutil -convert webarchive whatever.html
完成这项工作。不确定您是否可以轻松地包含图像等。
【讨论】:
man textutil 查看文档。网络存档有很多选择。
幸运的是,Webarchive 创建是 Webkit 的一部分,因此您可以使用以下内容在 Mac 上使用它们:
或者,使用此源代码来了解使用中的格式:
http://trac.webkit.org/browser/trunk/WebKit/mac/WebView/WebArchive.mm
【讨论】:
WebArchive.h、WebArchive.mm 和 WebArchiveInternal.h ...
扩展 Ben 所说的内容:CFLite(Core Foundation 的跨平台开源子集)附带了一个 plist 解析器。如果您可以链接到它,那么使用.webarchive 文件应该非常简单,它们只是将所有文件(HTML、CSS 等)连接成一个的属性列表。
还有其他库,例如 Perl 的 CPAN 上的 Mac-PropertyList。
【讨论】:
我相信 .webarchives 的格式没有正式记录,但它只是一个 plist。您可以在 Property List Editor 中打开它并检查其内容。复制其中的大部分(如果不是全部)应该不难。
【讨论】: