使用HTML Help Workshop 1.3和HTML5和Javascript DOM并使用HTML帮助文件定位Windows 10?

时间:2019-03-15 01:17:17

标签: windows-10 chm html-help html-help-workshop

我正在使用通过转换较旧的WinHelp帮助源(从使用Microsoft转换工具用Word编辑的.RTF文件转换)生成的HTML帮助源。自从将其转换后,并在2014年或更早的某个时候完成了一些初步工作后,该来源一直未被触及。

我当前在Windows 7 PC上使用Visual Studio 2005来更新此HTML帮助源。我创建了一个项目,并添加了所有各种资源:HTML文件,包含图像的BMP文件,包含JavaScript的文件和包含CSS的文件。较旧的基于WinHELP的内容使用了很多弹出窗口,转换后将这些弹出窗口放入单个文件中,并且通过仅将这些小文件合并到一个位置,我将文件数量减少了三分之一。

我要做的第一件事是手工清理标签,通过合并和重写内容消除文件,并更改旧样式标记以使用更现代的CSS。

我的帮助文件目标是Windows 7和Windows 10的桌面用户。我计划在清理完基础知识后使用此源迁移到Visual Studio 2015。我已经完成了一个将VS 2005转换为VS 2015的测试项目,转换似乎可以正常工作,并且HTML源代码可以编译成可用的.chm文件。

从我发现的情况来看,似乎正在维护Microsoft的HTML帮助研讨会,但不再进行积极的开发。根据{{​​3}}的最新版本似乎是在2012年发布的1.32,尽管它是针对HTML帮助版本1.4的。另请参阅Microsoft文档中的HTML Help Workshop and Documentation download page

Visual Studio 2005指示已弃用某些标记(我认为是HTML4)。 html帮助源似乎可以编译为.chm文件,并且生成的.chm文件在Windows 7下也可以正常工作。

我对此编译过程有些困惑。我的印象是Workshop编译器将所有各种.html文件以及它生成的几个文件打包在一起,然后将它们全部压缩到一个存档中。

这是否意味着我使用的HTML标准取决于Microsoft浏览器,我假设的Edge及其支持的HTML标准?

这个问题真的意味着HTML帮助研讨会上是否存在任何依赖关系,这意味着我不能使用HTML5或更新的CSS?

有一些简单的Javascript使用div标签进行一些基本的用户交互。那很好。我可以期望此帮助文本可以使用Microsoft Edge支持的任何Javascript HTML DOM吗?

1 个答案:

答案 0 :(得分:1)

您知道Windows HTML帮助是作为扩展名为.chm的LZX压缩二进制文件提供的。它包含一组HTML文件,一个超链接目录和一个索引文件。文件格式已经过反向工程,其文档可免费获得,例如Unofficial (Preliminary) HTML Help Specification

对于“信息技术存储格式”,文件以字节“ ITSF”(ASCII)开头(请参见Microsoft's HTML Help (.chm) format文档)。可以使用FAR HTML打开CHM,如该SO线程to get CHM details from help ID

的屏幕截图所示。

请注意,老化的Internet Explorer在HTMLHelp Viewer(hh.exe)中用于呈现HTML内容。 HH.EXE与HTML帮助一起分发,因此您可以依靠它的存在。它位于Windows文件夹中,并且命令行选项数量有限。 HH.EXE与.CHM文件关联。因此,双击* .CHM文件,Windows将使用HH.EXE打开该文件。它是一个非常小的文件,如包装器,它主要将帮助文件名传递到HH API库中。

在此上下文中未使用Edge浏览器。已有20多年历史的HTMLHelp仍然可以使用许多功能,例如SVG的集成。但是,我建议不要完全使用标准HTML5,并且要非常小心。内容本身应尽可能易于维护。这也可以通过简化的HTML来实现。

您可能知道微软正在开发一种基于Chromium的Web浏览器,它将取代Windows 10上的Edge。我不确定微软如何集成所需的Internet Explorer渲染引擎以在未来的环境中支持CHM Viewer。

>

有些过时了,但请阅读Make your CHM Help Files show HTML5 and CSS3 content

另请参见Web Browser Control & Specifying the IE Version,其中讨论了如何使用X-UA-Compatible HTML元标记。看到有关该标签What does <meta http-equiv="X-UA-Compatible" content="IE=edge"> do?的信息。