Datei mit Frameset: frames.hta |
Frame 1: frame_1.htm |
Frame 2: frame_2.htm | Framewechsel: frame_wechsel.htm |
<head> <title>HTA Hilfe für Batchschreiber</title> <HTA:APPLICATION APPLICATIONNAME="HTAHilfe" SCROLL="yes" SINGLEINSTANCE="yes" WINDOWSTATE="maximize" > </head> <frameset rows="50%,50%"> <frame application="yes" src="frame_1.htm"> <frame application="no" src="frame_2.htm" name="frame_2"> </frameset> |
<html> <head> <title>HTA Hilfe für Batchschreiber</title> <HTA:APPLICATION APPLICATIONNAME="HTAHilfe" SCROLL="yes" SINGLEINSTANCE="yes" WINDOWSTATE="maximize" > </head> <SCRIPT Language="VBScript"> Sub RunScript WINDOW.PARENT.FRAME_2.LOCATION.HREF="frame_wechsel.htm" End Sub </SCRIPT> <body> <div>Der Framewechsel erfolgt nach Betätigung des Buttons</div> <br> <input id=runbutton class="button" type="button" value="start" name="run_button" onClick="RunScript"> <br> <br> <body> <html> |
<htm> <BODY> <div>Das ist ein ursprünglicher Frame<div> </BODY> </htm> | <html> <BODY> <div>Das ist ein Frame nach einem Framwechsel...</div> </BODY> </html> |
Alle Dateien in einen Ordner (relative Links). Mit einem Doppelklick auf die Frame.hta wird die Anwendung gestartet. Die ausführenden VBScripts müssen in den anderen HTM-Frames sein, da nur das Frameset in Frame.hta ausgelesen wird und andere Befehle ignoriert werden. Es können keine HTA-Dateien mit der Frame.hta in einen Frame geladen werden - es sei denn die hta soll wiederum als einzelne Instanz geöffnet werden-:) Die beiden Frames frame_1.htm und frame_2.htm werden geladen. |
Im ersten Frame_1 ist die Hauptanwendung, nämlich ein Start-Button, der den Framewechsel auslöst. Unter dem Headbereich von frame_1.htm ist die Ausführungsroutine im VBS:. WINDOW.PARENT.FRAME_2.LOCATION.HREF="frame_wechsel.htm" Das ist der Pfad zur Framewechselseite ind eigenständiger Befehl zu gleich. Windows.Parent ist die Adresse zum Hauptframe und Frame_2 die ID vom Frame Location.Href ist halt die Url, die im Window angezeigt wird... Das Sub RunScript wird durch Betätigen des Buttons im Bodybereich durch den User ausgelöst: <input id=runbutton class="button" type="button" value="start" name="run_button" onClick="RunScript"> |
Dieser Frame wurde ursprünglich angezeigt.. Ist eine ganz normale HTM-Seite... | ...und durch diesen Frame nach Betätigen des Buttons ersetzt. Ist eine ganz normale HTM-Seite... |
Rows
und cols: Das ist die Angabe, ob es zwei Frames übereinander (row) oder
nebeneinander (cols) gibt. Der Sternenhimmelstuermer schlägt eine
Angabe in Prozent danach vor, damit sich die Fenster im Browser
anpassen. Tipp: Natürlich können Sie auch mit einem Betätigen des Buttons zwei Frames ändern: Einfach dem zweiten Frame einen Namen geben in frames.hta - in der Art: src="frame_1.htm" name="frame_1"> Dann noch in frame_1.htm eine Zeile in der Art: WINDOW.PARENT.FRAME_1.LOCATION.HREF="frame_wechsel.htm" hinzufügen. Warum geht das? Im VBS Script werden die einzelnen Befehle innerhalb des Sub Runscripts abgearbeitet - ob da nun ein Frame gewechselt wird oder zwei ist so ziemlich egal - Sie könnten auch eine Zeitschleife einbauen und das Ergebnis für zehn Sekunden anzeigen lassen, um dann wieder zum alten Frame zurückzukehren...VBS ist echt flexibel, wenn man die Grundkenntnisse hat... Genausogut können Sie einen Frame mit derselben Adresse einfach neu laden - so eine Art Reload-Funktion. Das kann nützlich sein, um einen Clear-Button einzubauen, der die Eingaben des Users in einem Formular löscht... |