Jürgen: Warum dauert das solange bis ein neues Fenster geöffnet wird?

Hallo!

Ich würde gerne wissen ob es normal ist das es ca. 3 Sekunden dauert bis das neue Fenster geöffnet wird in Verwendung mit der folgenden Funktion

function neuesFenster()
        {
        msgWindow=window.open("./php/notiz.php","Notiz_hinzufügen","toolbar=no,width=400,height=400,left=100,top=200,directories=no,status=no,scrollbars=yes,resize=no,menubar=no")
        }
In meinem Formular sieht das dann so aus

<input type="button" value="Notiz hinzufügen" onClick="neuesFenster()">

Die datei notiz.php (das wird geöffnet) enthält noch sehr wenig also daran kann es nicht liegen.

Ist irgendwas bei dieser Funktion vielleicht nicht richtig oder etwas was den client so sehr belastet das er gleich 3 volle Sekunden braucht bis das Fenster geöffnet wird?

Oh, und wenn jemand zufällig weiss wie man ein Fenster immer zentriert positionieren kann wäre ich auch dankbar :)

Und nun meine letze Frage, kann man mit Javascript abfragen ob ein bestimmtes Fenster (in dem Fall das Fenster notiz.php) noch offen ist, und wenn ja dann darf das PHP script nicht weiterrennen, bzw. man bekommt eine Meldung die sagt "Achtung, ihr Notiz Fenster ist noch offen, sind sie sicher das sie fortfahren möchten" oder so ähnlich?

Vielen Dank schon mal im voraus!

Liebe Grüße aus Wien,
Jürgen

  1. Hi Jürgen,

    Ich würde gerne wissen ob es normal ist das es ca. 3 Sekunden dauert
    bis das neue Fenster geöffnet wird

    wenn dieser 3 Sekunden die Realzeit-Dauer sein soll, dann gibt es mehrere
    Stellen, an denen Du suchen kannst:
    a) Dauert Dein PHP-Skript auf dem Server so lang?
    b) Dauert das Rendern des erzeugten Dokuments auf dem
       (alten, langsamen) Client so lang?

    Ist irgendwas bei dieser Funktion vielleicht nicht richtig oder etwas
    was den client so sehr belastet das er gleich 3 volle Sekunden braucht
    bis das Fenster geöffnet wird?

    Nicht auszuschließen ist, daß beide Effekte teilweise schuld sind.

    Die datei notiz.php (das wird geöffnet) enthält noch sehr wenig
    also daran kann es nicht liegen.

    Man kann auch mit sehr wenig Code eine sehr langsame Funktion schreiben.
    Und der Server kann zwischenzeitlich einfach mal heftig belastet sein.

    Oh, und wenn jemand zufällig weiss wie man ein Fenster immer zentriert
    positionieren kann wäre ich auch dankbar :)

    Zentriert gegenüber welchem Koordinatensystem? Ich bin nicht sicher,
    daß Du damit zu einer sinnvollen Aufgabenstellung kommen wirst.

    Ansonsten: Du kannst beim Öffnen des Fensters die Größe und die Position
    des linken oberen Ecks angeben. Wenn Du nun Dein Bezugssystem (Bild-
    schirm? Browserfenster? Wasauchimmer?) ebenso in Zahlen fassen kannst,
    dann kannst Du ausrechnen, wo sich das Fenster öffnen müßte ...

    msgWindow=window.open
    Und nun meine letze Frage, kann man mit Javascript abfragen ob ein
    bestimmtes Fenster (in dem Fall das Fenster notiz.php)

    "notiz.php" ist kein Fenster - nur ein Dokument innerhalb eines Fensters.
    Du hast beim Öffnen Deines Fensters ein window-Objekt in der Variablen
    msgWindow abgelegt - damit kannst Du auch weiter arbeiten.

    noch offen ist, und wenn ja dann darf das PHP script nicht
    weiterrennen

    Da hast Du aber ein architektisches Problem.

    Denn der Zustand des Fensters ist nur client-seitig feststellbar,
    während das PHP-Skript serverseitig lief (!) und schon längst fertig
    ist, bevor der von ihm erzeugte Code überhaupt beim Client angekommen
    und von diesem ausgeführt wurde.

    bzw. man bekommt eine Meldung die sagt "Achtung, ihr Notiz Fenster
    ist noch offen, sind sie sicher das sie fortfahren möchten" oder so
    ähnlich?

    Ich verstehe zu wenig von Deiner gesamten Dialogführung, um hierzu im
    Detail etwas zu sagen. Aber von dort aus, wo Du das Fenster geöffnet
    hast, kannst Du es auch wieder schließen - mit dem window-Objekt.

    Viele Grüße
          Michael