我一直在四处搜索,没有找到任何可以创建Safari网络档案格式的工具的参考。
有没有人有创建这种格式的代码指针,或者至少有一个格式参考文档?
理想情况下,我想构建一个工具,它可以获取一个目录并拆分出一个网络档案,用于加载到iPhone中。
为了扩展Ben所说的内容:CFLite(Core Foundation的跨平台开源子集)附带了plist解析器。如果您可以链接到它,那么使用.webarchive
文件应该非常简单,它们只是将所有文件(HTML、CSS等)连接为一个的属性列表。
还有其他库,比如针对Perl的CPAN上的Mac-PropertyList
。
我相信.webarchives的格式没有正式文档,但它只是一个plist。可以在特性列表编辑器中打开它并检查其内容。复制大部分(如果不是全部的话)应该不难。
尝试了textutil,但它只使用Cocoa文本系统,因此在css、js等方面失败。
有一个不错的GitHub项目:https://github.com/takebayashi/STWebArchiver
它使用Webkit编写.webarchive文件。需要根据您的需求进行一些定制…
它不是跨平台的,而是在Mac 上
textutil -convert webarchive whatever.html
做这项工作。但不确定是否可以轻松地包含图像等。
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