是否可以将多个 HTML 文件打包在一个 MHTML 文件中并在它们之间导航?

Is it possible to package multiple HTML files in an MHTML file and navigate between them?

所以我可能想到了错误的文件格式,但我记得小时候打开的文件看起来像 Windows 98 帮助 window:

我以为它是一个 MHTML 文件,它允许我在打包的页面之间导航。我在考虑正确的格式吗?

MHTML 允许 HTML 将链接作为独立文件,如 here 所述。许多在线工具都会为您创建一个。

.MHT 文件也是单个 HTML 文件。

Winfows 98 实际上使用了一个 compiled HTML file - 即一个 .CHM

当我需要类似的东西时,我在 main.htm 文件中创建了一个 frameset,例如:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
    "http://www.w3.org/TR/html4/frameset.dtd">
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
    <title>My framed webpage</title>
</head>

<frameset cols="25%,*">
    <frame src="toc.htm">
    <frame src="content.htm" name="content">
</frameset>

</html>
  • toc.htm - table 的内容,按 ID 引用 content.htm 文件的链接列表(包含元素列表 <a href="content.htm#toc_0" target="content">Link Title Name</a>,ID 为 toc_0 ... toc_n)。结果文件中的右框架。
  • content.htm - 包含您要参考的 ID 为 toc_0 ... toc_n 的链接的内容文件。它们可能是任何 h* 元素。结果文件中的左帧。

如果你使用Java,那么Jsoup就是你最好的朋友。

<frameset> tag is deprecated HTML tag The tag is not supported in HTML5

UPD。当您有三个文件 main.htmtoc.htmcontent.htm 时,只需打开一个主文件即可。以前 Chrome 实验性功能中有一个标志可以保存为 MHTL,您只需激活它,但现在看来 have removed it.
但是,您可以改用 Save as MHTML add-on