OmniHelp’s ability to support context-sensitive Help (CSH) is somewhat limited by the fact that JavaScript cannot offer an API interface to other programs. Nor is there any way for another program to pass information to JavaScript after OmniHelp is loaded. Therefore CSH is restricted to what can be done by invoking the browser with a file name. You can invoke OmniHelp with either a file name or a Context ID:
• File name:
_project.htm#myfile.htm
When the OmniHelp frameset comes up, the named file is displayed instead
of the usual starting topic.
• Context ID:_project.htm#contextID
The file with which the ID is associated is located in project.oha
and loaded first.
In the topic file, the Context ID is a normal anchor: <a name=”contextID”></a>. The entry in project.oha looks like this:
["idh_chooseproject","02x998911.htm"],
where the first element is the ID, and the second is the file to display.
In Mif2Go, the entry is created from any FrameMaker newlink marker, possibly qualified by a required prefix (such as idh_) specified by the user in a mif2htm.ini configuration setting.
When CSH is invoked by calling a specific browser, by name, it works as expected. However, when invoked via cmd start for the filename, the hash value can prevent startup. In that case, it’s necessary to call it via a “redirect file”, with no hash, which contains a meta tag identifying the real URL wanted:
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html lang="en">
<head><title>List of Tables</title>
<meta http-equiv="refresh"
content="1;url=file:///G:/Omnisys/UG/OH/Done/_usergd.htm#tablist">
</head>
<body></body></html>