创建 Safari 网络档案的跨平台方式
我一直在四处寻找,但没有找到任何可以创建 Safari 网络存档格式的工具的参考。
有人有创建这种格式的代码的指针,或者至少有格式参考文档吗?
理想情况下,我想构建一个工具,它可以获取一个目录并分割出一个网络存档,以便加载到 iPhone 中。
I've been searching around and haven't found any reference to tools that can create Safari's webarchive format.
Does anyone have pointers to code for creating this format, or at least a format reference documentation?
Ideally I'd like to build a tool that takes a directory and splits out a webarchive, for loading into a iPhone.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
扩展 Ben 所说的内容:CFLite(Core 的跨平台开源子集) Foundation)附带了一个 plist 解析器。 如果您可以链接到该文件,那么使用
.webarchive
文件应该非常简单,这些文件只是将所有文件(HTML、CSS 等)连接成一个的属性列表。还有其他库,例如
Mac-PropertyList
关于 Perl 的 CPAN。To expand on what Ben said: CFLite (the cross-platform open-source subset of Core Foundation) ships with a plist parser. If you can link against that, it should be quite simple to work with
.webarchive
files, which are simply property lists that concatenate all files (HTML, CSS, etc.) into one.There are other libraries as well, such as
Mac-PropertyList
on CPAN for Perl.我相信 .webarchives 的格式没有正式记录,但它只是一个 plist。 您可以在属性列表编辑器中打开它并检查其内容。 复制其中的大部分(如果不是全部)应该不难。
I believe the format for .webarchives is officially undocumented, but it's just a plist. You can open it in the Property List Editor and examine its contents. Shouldn't be to hard to replicate most, if not all, of what's in there.
尝试过textutil,但仅使用Cocoa文本系统,因此在css、js等方面失败。
有一个不错的 GitHub 项目: https://github.com/takebayashi/STWebArchiver
它使用 Webkit 来编写 .网络存档文件。 需要根据您的需求进行一些定制...
Tried textutil, but that only uses the Cocoa text system and as such fails at css, js and such.
There's a nice GitHub project: https://github.com/takebayashi/STWebArchiver
It uses Webkit to write .webarchive files. Needs some customization for your needs…
它不是跨平台的,但在 Mac 上
可以完成这项工作。 但不确定您是否可以轻松地包含图像等。
It's not cross-plattform, but on the Mac
does the job. Not sure whether you can easily include images etc. though.
幸运的是,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
Webarchive creation is part of Webkit luckily, as such you can use the following for working with them on the Mac:
http://developer.apple.com/DOCUMENTATION/Cocoa/Reference/WebKit/Classes/WebArchive_Class/Reference/Reference.html
Or, use this sourcecode to understand the format in usage:
http://trac.webkit.org/browser/trunk/WebKit/mac/WebView/WebArchive.mm