5. Juni 2008

Forms Shut-Down

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

Keine Kommentare: