如何将所有资源包含到一个 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 文件中?