HTMLHelp

Home > Wissensbasis (Inhalt)

CHM-Thema per JavaScript mit Internet Explorer öffnen

Gibt es eine Möglichkeit, eine CHM-Hilfedatei zu einer bestimmten Themenseite über JavaScript zu öffnen?

Die kurze Geschichte - verwenden Sie den vollen Pfad, wenn Sie innerhalb einer ITS (CHM) Datei suchen. Relative Pfadangaben mit Themenangabe innerhalb des CHM funktionieren nach meinen Tests nicht. Es funktioniert nur für die CHM-Hilfedatei selbst. Eine Reihe von Sicherheitskorrekturen vor Jahren hat HTMLHelp darauf reduziert, nur noch als lokale Hilfe zu funktionieren.

HTML Help 1.x hat nicht die Fähigkeit, komprimierte Hilfe über http zu liefern. Sie können auf eine .chm-Datei auf dem lokalen Laufwerk des Benutzers zeigen und Sie können einen Link zu einer .chm-Datei zum Download anbieten, aber das ist alles, was möglich ist.

Die Fähigkeit, in eine ITS (CHM)-Datei hineinzuschauen, ist etwas Einziges nur für den Microsoft Internet Explorer, und der Internet Explorer (NICHT der Microsoft Edge-Browser) könnte einen lokalen Pfad laden wie:

ms-its:D:\_temp\CHM-Beispiel.chm::/garden/garden.htm
Internet Explorer - Thema aus CHM-Hilfedatei öffnen

Das Präfix ms-its ist ein plug-in Protokoll aus früheren Tagen, das alten Standards folgt, die vom World Wide Web Consortium (W3C) aufgestellt wurden. Das ms-its-Protokoll funktioniert mit Microsoft Internet Explorer 4.0 oder höher, wird aber nicht von allen Browsern unterstützt.

Daher habe ich nur für den Testfall eine test.htm Datei und eine CHM-example.chm Datei im gleichen lokalen D:\_working Ordner. Bitte beachten Sie, dass window.showHelp eine HTML-Hilfedatei (.chm) in einer externen Anwendung (Help Viewer hh.exe) öffnet.

Bitte testen Sie dies unbedingt mit dem Internet Explorer 11 (Kontextmenü, Öffnen mit IE11). AFAIK - showHelp() ist keine Javascript (oder JScript) Funktion - es ist eine Microsoft Internet Explorer DHTML Methode.

<!DOCTYPE html>
<html lang="en">
<head>
    <script type="text/javascript">
            
        function OpenHelpFile () {
            // open help file in help viewer - IE 11 only
            // --------------------------------------------------------
            // for optional use cases when CHM resides in another place
            // var DriveStr = "D:";
            // var SubFolderStr = "_working";
            
            var HelpFileName = "CHM-example.chm";
            var HelpFileStr = HelpFileName;
            
            // open help file topic in help viewer - IE 11 only
            // --------------------------------------------------------
            <!-- window.showHelp ("CHM-example.chm", null) -->
            alert ("attempted to launch the showHelp file. URL is: " + HelpFileStr);
            window.showHelp (HelpFileStr);
        }

        function OpenHelpTopic () {
            //  open help file topic in help viewer - IE 11 only
            // --------------------------------------------------------
            var DriveStr = "D:";
            var SubFolderStr = "_working";
            var HelpFileName = "CHM-example.chm";
            var HelpTopicStr = DriveStr + "\\" + SubFolderStr + "\\" + HelpFileName + "::" + "/garden/flowers.htm";   
            
            // open help file topic in help viewer - IE 11 only
            // --------------------------------------------------------
            <!-- window.showHelp ("D:\\_working\\CHM-example.chm::/garden/flowers.htm", null) -->
            alert ("attempted to launch the showHelp file. URL is: " + HelpTopicStr);
            window.showHelp (HelpTopicStr);
        }

        function OpenHelpTopicInNewTab () {
            // open help topic in new tab - only working inside IE11 using ms-its protocol
            // ---------------------------------------------------------------------------
            // "ms-its:D:\_working\CHM-example.chm::/garden/garden.htm"
        
            var ProtocolStr = "ms-its:";
            var DriveStr = "D:";
            var PathToFileStr = "\\_working\\CHM-example.chm";
            var HelpTopicStr = ProtocolStr + DriveStr + PathToFileStr + "::" + "/garden/garden.htm";
            
            alert ("attempted to launch the showHelp file. URL is: " + HelpTopicStr);
            
            // please note: window.open (!) ---------------------------------------------
            window.open (HelpTopicStr, null);
        }
        
    </script>
</head>
<body>
<p>Help Information www.help-info.de</p>
<hr />
<p>Open a help file</p>
<div>
    <button onclick="OpenHelpFile ();">Open a help file!</button>
</div>
<hr />
<p>Open a help topic</p>
<div>
    <button onclick="OpenHelpTopic ();">Open a help topic!</button>
</div>
<hr />
<p>Open a help topic in a new browser tab</p>
<div>
    <button onclick="OpenHelpTopicInNewTab ();">Open a help topic in a new browser tab!</button>
</div>
</body>

Die Schritte (Button 2 und 3) ergeben den untenstehenden Screenshot (bitte beachten Sie die zweite Browser-Registerkarte als Ergebnis von Schritt 3).

Sie können die oben verwendete Datei “CHM-Beispiel.chm” von meiner HTMLHelp (HH)-Infoseite [siehe Download-Bereich] (http://www.help-info.de/en/Help_Info_HTMLHelp/hh.htm) oder direkt von [CHM] (http://www.help-info.de/files_download/CHM-example.chm) herunterladen.

Bitte beachten Sie, um diese CHM-Datei zu öffnen, klicken Sie mit der rechten Maustaste auf die gespeicherte Datei, klicken Sie auf Eigenschaften und dann auf Freigeben.

JavaScript - open CHM file and topic

Keywords:

Microsoft, HTMLHelp, CHM, Internet Explorer, JavaScript