如果重要,请使用 Robohelp。如何在 HtmlHelp 中获取帮助文件的运行时路径?我有一个合并的 .chm(但不是由我,由主应用程序合并)。单击 TOC 中的条目时,如何让从属 .chm 在其自己的窗口中打开?
这使用带有一些javascript的“隐藏”文件,但在合并后不起作用:
<a href="Hidden.htm">Click For SlaveB.chm through hidden</a>
这是在“隐藏的”htm 文件中:
<object
classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"
id="window_opener" type="application/x-oleobject">
<param name="Command" value="Shortcut" />
<param name="Font" value="Microsoft Sans Serif,8,0,," />
<param name="Item1" value=",hh.exe,./SlaveB.chm::/MyTopic.htm"/>
</object>
<!--Metadata type="DesignerControl" endspan-->
<script type="text/javascript">window_opener.hhclick();
history.back();</script>
这有效,但没有在新窗口中打开我的 .chm:
<p><a href="SlaveB.chm::/MyTopic.htm">Click For MyTopic.htm in same window</a></p>
如果我使用带有主题的.chm 的硬编码绝对路径,它也可以工作。我只是想找到当前 .chm 正在使用的路径并在新窗口中打开 a.chm (位于同一目录中)。这可以是一个简单的 .chm 合并,仅提供另一个 .chm 的链接/打开(我想在新窗口中打开的那个)。例如,SlaveA.chm 被合并到主应用程序的 Master .chm 中(我无权编辑这个),但 SlaveA 只是存在于 Master 中的一个 TOC 条目,它以全新的方式链接/打开我的 SlaveB.chm窗口(从 B 根本不合并)