如何打开我的.chm以合并到另一个.chm到一个新窗口?

时间:2016-04-25 12:17:42

标签: merge chm html-help robohelp

如果重要的话,使用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 IS合并到主应用程序的Master .chm中(我没有权限编辑这个),但是SlaveA只是存在于Master中的TOC条目,它以全新的方式链接/打开我的SlaveB.chm窗口(奴隶B根本没有合并)

1 个答案:

答案 0 :(得分:0)

我最终使用以下javascript来获取位置,删除结尾并将我的slave .chm文件放在最后,然后在新窗口中打开它:

8