Timo Littke: Funktion des Befehls win.focus in JavaScript?

Folgende Frage zum Thema JavaScript:
In einem Source-Code taucht unten stehende function auf (vorher noch eine Browserabfrage). Welche Bedeutung hat das if-Konstrukt mit dem win.focus? Was passiert wenn e4, n3 oder n4 vorliegen bzw. was passiert nicht...?

function open_toplevelwin(){
                win = open('top_f_d.html', 'INNO', 'menubar=no,toolbar=no,width=640,height=520');
                if((ver=="e4") || (ver=="n3") || (ver=="n4")){
                        win.focus();
                }
        }

Thanx

Timo

  1. Folgende Frage zum Thema JavaScript:
    In einem Source-Code taucht unten stehende function auf (vorher noch eine Browserabfrage). Welche Bedeutung hat das if-Konstrukt mit dem win.focus? Was passiert wenn e4, n3 oder n4 vorliegen bzw. was passiert nicht...?

    function open_toplevelwin(){
                    win = open('top_f_d.html', 'INNO', 'menubar=no,toolbar=no,width=640,height=520');
                    if((ver=="e4") || (ver=="n3") || (ver=="n4")){
                            win.focus();
                    }
            }

    Hallo Timo,

    Nachdem das Fenster geöffnet ist, stelltt win.focus() sicher, dass es zuoberst liegt, d.h. zum aktiven Fenster wird (wenn e4, n4 oder n3). Bei anderen Browsern wird die Methode eben nicht ausgeführt; andernfalls käme es wohl zu einer Fehlermeldung (NS 2.0 oder IE 3.0).

    Viele Grüße
    von
    Chris Reuter.

  2. Hallo Timo,

    Welche Bedeutung hat das if-Konstrukt mit dem win.focus? Was passiert wenn e4, n3 oder n4 vorliegen bzw. was passiert nicht...?
            function open_toplevelwin(){
                    win = open('top_f_d.html', 'INNO', 'menubar=no,toolbar=no,width=640,height=520');
                    if((ver=="e4") || (ver=="n3") || (ver=="n4")){
                            win.focus();
                    }
            }

    win ist der Name des Zweitfensters, das zuvor mit open() geoeffnet wird. Damit dieses neu erzeugte Fenster das aktive Fenster wird (Titelzeile ist hervorgehoben, Maus- und Tastaturbefehle sind Ereignisse dieses Fensters), kann man in JavaScript die Methode focus() benutzen. Diese Methode gibt es jedoch erst seit dem JavaScript-Sprachstandard 1.1. Der Programmierer des obigen Scripts fuehrt die Methode deshalb nur dann aus, wenn die Variable ver einen der Werte e4, n3 oder n4 hat (steht wohl fuer MS IE 4, Netscape 3 und Netscape 4 - die Variable ver muss zuvor mit einer Browser-Typenabfrage mit Hilfe des navigator-Objekts mit einem entsprechenden Inhalt versorgt worden sein). Durch das if-Konstrukt wird also verhindert, dass Browser, die die focus()-Methode nicht kennen, mit einer JavaScript-Fehlermeldung abbrechen.

    Viele Gruesse
      Stefan Muenz