如何将所有资源包含到一个 html 文件中?

Posted

技术标签:

【中文标题】如何将所有资源包含到一个 html 文件中?【英文标题】:How to include all resources into one html file? 【发布时间】:2012-05-10 04:48:47 【问题描述】:

是否有任何 c# 库或任何免费工具可以将具有许多引用资源的 html 文件转换为一个“一体化”的 html 文件?

主要任务是只有一个文件,这意味着我需要包含

    javascript 外部文件 - 这可能意味着替换所有“脚本”标签 带有“脚本”标签的“src”属性,内容从引用文件中读取。 图像 - 将 src="picture.png" 替换为数据 uri - 类似 src="data:image/png;base64,encodedContent..." CSS 文件 可能是我忘记了什么:)

这个 HTML 文件必须在所有浏览器中都可读,这就是为什么我不能使用 MHT 文件格式(在 Safari、iPad 上不可读...)

【问题讨论】:

为什么不使用构建操作“内容”来复制发布时的文件?将它们作为资源有什么意义? @Ingenu 我看不到他指的是构建上下文。他只是想从任意 URL 获取 HTML 文档,并使其成为一个独立的文档。 没错。我不是原始 HTML 的作者。 【参考方案1】:

您可以使用HTML Agility Pack 来读取/写入html 文档。 HTML Agility 支持 XPath,因此您可以获得要修改的节点列表。

使用它,更改图像标签的属性值应该很容易。您还可以获取外部 js 引用的列表,阅读它们,然后相应地更新脚本标签。

【讨论】:

我知道“HTML Agility Pack”,如果我找不到任何其他解决方案,这可能就是我将使用的方式。问题是不要忘记包含一些东西,我必须从头开始写。这就是为什么我正在寻找一个完整的“解决方案”。

以上是关于如何将所有资源包含到一个 html 文件中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将我的 pyglet 应用程序和所有资源编译到一个 exe 文件中?

Qt 资源文件利用率

如何将 TXT 文件作为资源添加到我的 EXE 文件中?

iOS:将资源(音频)文件包含到应用程序的应用程序文件夹中,而不是添加到包中

如何将 sdf 文件从资源复制到临时文件夹 C#

浅谈Swift如何快速获取Web页面中图片资源的大小