Mar*_*rco 34 html standards webpage archive
我正在研究一个项目,它将单个图像和文本文件存储在一个地方,就像一个时间胶囊.现在,大多数项目都可以保存为一个文件,如DOC,PPT和ODF.但完整的网页不能 - 它们被保存为单独的HTML文件和数据文件夹.我想在一个档案中保存一个网页,虽然有几个解决方案,但没有"标准".哪个是HTML档案的最佳格式?
Microsoft有MHTML - 基本上是一个编码为MIME HTML电子邮件的文件.它已经基于现有标准,并且MHTML作为自己的标准被提议为rfc2557.这是一个好主意,并且它永远存在,除了它自1999年以来一直是"提议的标准".此外,IE以外的实现只是麻烦.IE和Opera支持它; Firefox和Safari具有繁琐的扩展功能.
Mozilla具有Mozilla存档格式 - 基本上是带有标记和图像的ZIP文件,元数据保存为RDF.这是一个很棒的主意--Winamp为皮肤做了这个,ODF和OOXML用于嵌入图像.我喜欢这个,除了,1.除了Mozilla之外没有人使用它,2.支持它的唯一扩展程序自Firefox 1.5以来没有更新.
数据URI正变得越来越流行.您可以将文件直接编码为HTML64标记,而不是引用MHTML或MAF的外部位置.根据您的视图,它是精简的,因为文件正好在标记所在的位置.但是,支持仍然有些弱.Firefox,Opera和Safari支持它没有失态; 市场领导者 IE只是开始在IE8上支持它,即使那时也有限制.
当然,还有"保存完整的网页",其中HTML标记保存为"savedpage.html",文件保存在单独的"savedpage_files"文件夹中.Afaik,每个人都这样做.它得到了很好的支持.但必须处理两个独立的元素不是简单和简化的一切.我的项目需要将它们放在一个存档中.
请记住浏览器的支持和易于编辑的页面,你认为什么是保存网页在一个单一的存档的最佳方式?什么是最好的"标准"?或者我应该只是扣下来处理HTML文件和单独的文件夹?为了我的项目,我可以支持,但我最好避免它.
Tre*_*reb 16
我最喜欢的是ZIP格式.因为:
替代品都有一些缺陷:
几乎所有平台上的几乎所有浏览器都支持 PDF,并将内容和图像存储在单个文件中。可以使用正确的工具对其进行编辑。这几乎肯定不理想,但这是一个值得考虑的选择。
这不仅仅是文件格式的问题。另一个关键问题是您到底想存储什么?是吗:
存储整个页面以及所有引用的资源 - 图像、CSS 和 javascript?
捕获在某个时间点呈现的页面;网页 DOM 的某些渲染状态的静态图像?
浏览器中最新的“页面另存为”功能,无论是 MAF、MHTML 还是文件+目录,都尝试第一种方式。这最终是有缺陷的方法。
不要忘记网页现在更像是本地应用程序,而不是您可以轻松存储的静态文档。潜在问题:
一个页面实际上是由 JS 动态构建的多个页面,需要用户交互才能使其达到所需状态
AJAX 应用程序可以与远程服务进行远程通信,使其无法用于离线查看。
JavaScript 代码中的隐藏链接。这样的资源就不是存储页面的一部分。即使解析 JS 代码也可能无法发现它们。您需要运行代码。
即使基本 html 元素的位置可能会被重新计算,也可能由 JS 动态计算,并且并不总是可能/容易在本地重新创建它。
您需要某种 JS 内存转储并加载它以使页面达到您希望存储的所需状态
还有很多很多的问题...
检查 Chrome SingleFile扩展。它将网页存储到一个 html 文件中,并使用已经提到的数据 URI 内嵌图像。我没有对它进行太多测试,所以我不能说它处理“易失性”ajax 页面的效果如何。