Letztes Jahr schrieb ich einen Artikel
Forms Start-Up in dem ich demonstrierte, wie man ein Browser-Fenster beim Applikationsstart verstecken kann. Eine ähnliche Fragestellung kommt beim Schliessen auf uns zu: Wie schliesse ich das Browser-Fenster, wenn ich die Applikation beende? Dies ist meine aktuelle Lieblingsmethode:
1) Erzeuge eine HTML-Datei z.B.
close.html im html-Verzeichnis. Dieser Befehl schliesst das Browser-Fenster.
< BODY onLoad="window.close();" >
2) Setze den formsweb.cfg Parameter
HTMLbeforeForm im server-Verzeichnis. Damit wird die Sicherheits-Abfrage "Möchten Sie das Fenster schliessen" unterdrückt.
HTMLbeforeForm=< SCRIPT LANGUAGE="JavaScript" >window.opener = top;< /SCRIPT >
3) Die Maske, die die Gesamt-Applikation beendet, benötigt einen
POST-FORM-Trigger. /forms/html ist ein virtuelles Verzeichnis, welches auf die close.html zeigt.
web.show_document ('/forms/html/close.html', '_self');
Verzeichnisse:
< DevSuite-Home > : Developer-Suite Home Verzeichnis
html-Verzeichnis : < DevSuite-Home >\tools\web\html
server-Verzeichnis : < DevSuite-Home >\forms\server
virtual-html-Verzeichnis : /forms/html definiert in forms.conf
Vielen Dank an
Duncan Mills,
Frank Nimphius und Richard Squires, die diese Ideen vor einigen Jahren im OTN veröffentlichten.
Pro) Diese Technik arbeitet auf IE 6 und IE 7, getestet mit dem JInitiator und dem Sun-Plugin.
Kontra) Keine Firefox-Unterstützung. Seit Firefox 2.0 ist es nicht mehr erlaubt, ein Fenster per JavaSript zu schliessen.
Wichtig: Die Restriktionen dieses Blogs zwangen mich, nach jedem "<" und vor jedem ">" ein Leerzeichen zu schreiben. Bitte entfernen vor dem Einsatz.
viel Spass
Gerd