单个HTML + CSS + JS + images文件


8

是否有一种将所有HTML内容本身集成到一个文件中的文件格式?

我想使用HTML5文档而不是doc,docx,odt或pdf来创作我的内容。但是,当我想通过电子邮件发送HTML文件时,就会出现问题。我必须将其压缩,然后将其附加到电子邮件中。当然,有.lit和.chm,但是出于明显的原因,这不是可行的方法。另外,可以在HTML文件中内联javascript和CSS代码。这也有缺点:图像仍然被排除在外,并且将所有外部CSS和Javascript文件嵌入到一个HTML文件中很麻烦。工具可以自动执行此操作,但是图像问题仍然存在。

在pdf / doc / docx / odt上使用HTML的最重要动机是HTML 并非为印刷而设计,而pdf / doc / docx / odt都是针对HTML的(因此并未针对屏幕阅读进行优化)。另外,HTML是一种完全被接受且开放的标准,无法说出命名格式(odt是开放的,但未被广泛接受)。

Answers:


7

将所有内容都嵌入到普通的HTML文件中是必经之路。您见过TiddlyWiki吗?我想我已经看到它被称为“单页应用程序”-一切都嵌入在一个HTML文件中,因此它(几乎)是一个独立的软件。我不使用它,但是我认为它在技术上非常令人印象深刻。

可以使用数据URI以base64编码内联包含图像。但是Internet Explorer 8中的支持不完整(IIRC有大小限制),并且在旧版IE中完全缺少支持。大多数其他现代浏览器都具有良好的支持。

请注意,这通常会使图像的大小增加大约三分之一(因为每字节每8位仅“使用” 6个,因此必须再使用三分之一个字节来适应该间隙)。

例如,您得到以下内容:

<img src="data:image/png;base64,<BASE64 STRING>" />

或这个:

.someClass
{
    background-image:url(data:image/png;base64,<BASE64 STRING>");
}

您可能还希望阅读有关数据URI的Wikipedia文章,其中包含有关浏览器支持的注释以及一些用法示例。


是否有任何工具(宝石,鸡蛋,节点包等)可以处理转换并包括转换?有没有可以在src="..."href="..."属性中内联JS和CSS的工具?然后将图像转换为base64和更换<img src="..."<img src="data:image/..."
Sukima 2013年

我不知道,我从来没有尝试过包装这样的东西,直到需要外观。
DMA57361 2013年

3

我认为您可能正在追求MHTML格式(MIME HTML)(。MHT文件扩展名)。这会将所有内容嵌入单个文件中(非常类似于HTML电子邮件)。图像等以base64编码嵌入。

浏览器支持是合理的。IE和Opera可以保存和查看MHT文件。在IE中,您只需“另存为...”,然后选择“ Web存档,单个文件(* mht)”。但是,Firefox和Chrome需要浏览器扩展。

就个人而言,我可能会将HTML内容上传到网站(可能受密码保护),然后仅分发链接。MHT文件不能完全由用户编辑,因此在分发时需要重新生成。一旦将它们全部组合成一个MHT文件,它仍然像HTML一样可访问吗?

PDF是可以合理访问的。它具有自己的屏幕阅读功能。不过,不知道它如何处理图像-除非您可以使用特定工具创建它?


除了技术要求外,还存在组织上的要求,不能使用任何专有标准(pdf可能是开放的,但仍是专有的)。我会研究mhtml。
user45971

请参阅tools.ietf.org/html/rfc2557。这是一个开放标准。令我感到惊讶的是,IE比Firefox(后者更喜欢自己的专有格式)提供更好的支持,但是您已经拥有了它。不过,对于pdf或html + dependancies,可能有更好的工具支持。
Iiridayn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.