创建Safari Webarchives的跨平台方式
-
03-07-2019 - |
题
我一直在寻找并且没有找到任何可以创建Safari的webarchive格式的工具的参考。
是否有人指向用于创建此格式的代码,或者至少是格式参考文档?
理想情况下,我想构建一个工具,它可以获取目录并拆分webarchive,以便加载到iPhone中。
解决方案
扩展Ben所说的内容: CFLite (跨平台开源核心基础的子集)附带一个plist解析器。如果您可以链接,那么使用 .webarchive
文件应该非常简单,这些文件只是将所有文件(HTML,CSS等)连接成一个的属性列表。
还有其他库,例如 Mac-PropertyList
关于Perl的CPAN。
其他提示
我认为.webarchives的格式是官方未记录的,但它只是一个plist。您可以在属性列表编辑器中打开它并检查其内容。不应该很难复制大部分内容(如果不是全部的话)。
尝试过textutil,但只使用Cocoa文本系统,因此在css,js等处失败。
有一个很好的GitHub项目: https://github.com/takebayashi/STWebArchiver
它使用Webkit编写.webarchive文件。需要根据您的需求进行一些定制…
Webarchive创建很幸运是Webkit的一部分,因此您可以使用以下方法在Mac上使用它们:
http://developer.apple的.com /文档/可可/参考/ WebKit的/类别/ WebArchive_Class /参考/的reference.html
或者,使用此源代码来了解使用中的格式:
http://trac.webkit.org/browser /trunk/WebKit/mac/WebView/WebArchive.mm
这不是跨平台的,而是在Mac上
textutil -convert webarchive whatever.html
完成这项工作。不确定您是否可以轻松地包含图像等。