2017-09-28 3 views
3

zu erstellen Ich versuche derzeit, eine CHM-Hilfedatei zu erstellen, wo ein Benutzer Werte eingeben kann, die dann eine Schaltfläche zum Senden der lPARAM an die WM_TCARD generiert.Versuchen, ein ActiveX Template Coach (TCard) -Objekt mit Javascript Onclick Ereignis

Derzeit habe ich in IE 11, 10, 9 & 8 getestet, nach dem DOM Explorer wird das Objekt mit den richtigen Parametern erstellt, aber es wird nicht korrekt angezeigt und nicht als Schaltfläche angezeigt.

<body> 
<button onclick="create_object();">Try it</button> 
<input type="text" id="layout_enter" /> 
<button id=click_button99 onclick="click_new_object();">click</button> 
<script> 

function create_object() { 

    var new_obj = document.createElement("OBJECT"); 
    new_obj.setAttribute("classid", "clsid:41B23C28-488E-4E5C-ACE2-BB0BBABE99E8"); 
    new_obj.setAttribute("codebase", "HHCTRL.ocx#Version=4,72,8252,0"); 
    new_obj.setAttribute("type", "application/x-oleobject"); 
    new_obj.setAttribute("id", "object99"); 
    document.body.appendChild(new_obj); 

    var layout_entered = "10," + 
    document.getElementById('layout_enter').value 

    var z = document.createElement("PARAM"); 
    z.setAttribute("name", "Button"); 
    z.setAttribute("value", "PP Sonic"); 
    document.getElementById("object99").appendChild(z); 

    var y = document.createElement("PARAM"); 
    y.setAttribute("name", "Command"); 
    y.setAttribute("value", "TCard"); 
    document.getElementById("object99").appendChild(y); 

    var x = document.createElement("PARAM"); 
    x.setAttribute("name", "Image"); 
    x.setAttribute("value", " "); 
    document.getElementById("object99").appendChild(x); 

    var w = document.createElement("PARAM"); 
    w.setAttribute("name", "Item1"); 
    w.setAttribute("value", layout_entered); 
    document.getElementById("object99").appendChild(w); 

    var v = document.createElement("PARAM"); 
    v.setAttribute("name", "UseButton"); 
    v.setAttribute("value", "TRUE"); 
    document.getElementById("object99").appendChild(v); 

    var u = document.createElement("PARAM"); 
    u.setAttribute("name", "UseIcon"); 
    u.setAttribute("value", "TRUE"); 
    document.getElementById("object99").appendChild(u); 
} 

function click_new_object() { 
    document.getElementById("object99").click(); 
} 
</script> 
</body> 

Jede Hilfe/Beratung wird geschätzt. Ich habe bereits die Sicherheitsoptionen in Internetoptionen für ActiveX untersucht, die nichts gelöst haben. Wenn ich das Objekt bereits im Code haben sollte, erscheint es. Ich denke, es ist kein Problem mit dem Objekt, sondern die Kreation.

Bitte beachten Sie: Ich kann JQuery nicht verwenden.

Vielen Dank.

Antwort

1

Soweit ich mich erinnere, wurde dies durch Sicherheitsupdates gebrochen - und auch Tasten.

Während 2004-2005 wurde Windows ständig angegriffen. Um die vielen Sicherheitslücken zu schließen, beschloss MS, die Funktionalität der HTML-Hilfe auf die lokale Hilfe zu reduzieren.

Es ist wichtig zu beachten, dass während Workshop-Hilfe die folgenden Remote-Funktionen dokumentiert, sie tatsächlich nicht mehr in Windows XP und höher funktionieren.

  • HTML Help ActiveX Control Die Haupthilfe Code-Bibliothek (ausführbare) für den HH-Viewer in hhctrl.ocx gespeichert ist. Dies ist also eine DLL mit einigen ActiveX-Funktionen. Vor den Sicherheitsupdates könnten Sie dieses Steuerelement verwenden, um das Inhaltsverzeichnis und den Index in Webseiten einzubetten.
  • Das HTML-Hilfe-Java-Applet Dies verwendet Sun Java als eine alternative Möglichkeit zum Einbetten der Navigation (TOC/Index) in eine Webseite. Es wurde nie von Microsoft gewartet und ist in einen unbrauchbaren Zustand geraten (selbst vor den lähmenden Sicherheitsupdates). Ignorieren Sie diese Funktion einfach.

Ich versuchte folgenden Shortcut-Link vor vielen Jahren. Als Ersatz der fehlenden Taste? - Ich bin mir sicher! Bitte beachten Sie, dass dies nur in einer komprimierten CHM-Datei funktioniert.

<html> 
<head> 
<title>Using CHM shortcut links</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<meta name="keywords" content="Shortcut, Link" /> 
<meta name="MS-HKWD" content="Shortcut" /> 
<meta name="MS-HKWD" content="Link" /> 
<link href="../design.css" rel="stylesheet" type="text/css" /> 

<OBJECT id=MyUniqueID type="application/x-oleobject" 
classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"> 
    <PARAM name="Command" value="ShortCut"> 
    <PARAM name="Item1" value=",http://www.help-info.de/index.htm,"> 
    <PARAM name="Item2" value=",,"> 
    <!-- second item parameter seems to be required when downloaded from web with "Open/Save Dialog" --> 
</OBJECT> 

</head> 

<body> 

<h1>Using CHM shortcut links</h1> 
<p>This is a simple example how to use shortcut links from a CHM file and jump 
    to a URL with the users default browser.</p> 
<p>Example:</p> 
<p><a href="javascript:MyUniqueID.Click()">Click me to go to www-help-info.de</a></p> 

</body> 
</html> 
Verwandte Themen