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

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

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

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

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

【问题讨论】:

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

标签: c# html


【解决方案1】:

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

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

【讨论】:

  • 我知道“HTML Agility Pack”,如果我找不到任何其他解决方案,这可能就是我将使用的方式。问题是不要忘记包含一些东西,我必须从头开始写。这就是为什么我正在寻找一个完整的“解决方案”。
猜你喜欢
  • 1970-01-01
  • 2012-11-20
  • 2014-09-11
  • 2011-11-24
  • 2017-04-06
  • 1970-01-01
  • 2021-04-24
  • 2018-03-02
相关资源
最近更新 更多