molily: Zwei Popups in den '...focus()' Vordergrund

Beitrag lesen

Hallo Rainer,

pb=window.open("popbild.php?bd="+bn+"","pb","height=600,width=800");

die Methode 'open' kennt bis zu drei Argumente - wenn ich Dein Konstrukt mit Browser-Logik betrachte, lautet das zweite Argument (der HTML-Target-Wert) "" und der dritte (die Darstellungsanweisungen) "pb" - das unerwartete VIERTE Argument "height=600,width=800" wuerde ich (als Browser) ignorieren :-)

Nein, friemel das Konstrukt doch einmal auseinander. Der Ausdruck ist richtig, aber ein Teil ist unnötig.

window.open(
 "popbild.php?bd="+bn+"", /* erster Parameter */
 "pb",                    /* zweiter Parameter */
 "height=600,width=800"   /* dritter Parameter */
)

Der erste Parameter ist ein Ausdruck, in welchem drei Strings aneinandergehängt werden, mit dem Operator »+«:

"popbild.php?bd=" + bn + ""

Der letzte String ist jedoch vernachlässigbar, da er leer ist, also lässt es sich auf folgendes kürzen:

"popbild.php?bd=" + bn

Dieser Ausdruck liefert natürlich einen zusammenhängenden String. Letztlich wird die Funktion bzw. Methode folglich mit drei Parametern des Types String gefüttert. Es ist somit dasselbe wie...

datei="popbild.php?bd="+bn;
pb=window.open(datei, "pb", "height=600,width=800");

...denn sofern der Ausdruck, welche die Variable datei bildet, als zweiter Parameter eingesetzt wird, sähe es so aus:

pb=window.open("popbild.php?bd="+bn, "pb", "height=600,width=800");

Dies wäre äquivalent, denn der Ausdruck wird zuerst berechnet, es ist dasselbe wie bei window.alert('bla'+variablenname+'bla') usw., nur dass eben dahinter noch weitere Parameter folgen, durch Kommas abgetrennt.

Grüße,
Mathias

--
»Das Usenet ist mittlerweile in Teilen unbenutzbar geworden, ein düsterer, mit Glasscherben und Hundescheiße übersäter Spielplatz für Kontroll- und Hassmaniker, deren Neurosen sich gegenseitig ergänzen.« (MH)