WauWau: Popups öffnen und schließen

Beitrag lesen

Hi,

function popup(link,name,attr) {
newWindow = window.open(link,name,attr)
}

hmm - bringt nicht soo viel, wenn man sich's mal genau anschaut. afaik wird newWindow auch wenn es einem Fenster-Handle zugeordnet ist, nach Beendigung der Funktion gelöscht - was dazu führen würde, dass diese Funktion absolut nix bringt. Ändert man sie aber zu dem, was du willst, bringt sie plötzlich wieder was ;-)

So muss ich aber jedesmal die ganzen Attribute (toolbar, scrollbars usw.) eingeben ich möchte aber auch nicht für jedes Popup eine andere Funktion verwenden.

....andere funktion verwenden? Brauchst du doch gar nicht...!? *verwirrt*

Am liebsten wäre es mir, wenn der link in etwa so aussehen würde:
<a href="javascript:popup('ziel.html', 'popup', '800','400')">
und ich eine Funktion hätte, die das selbe bewirkt, ist das möglich und wenn wie?

natürlich ist das möglich! Dir sollte klar sein, dass du mit dem Operator "+" mehrere Strings zusammenhängen kannst! Also, so würde

alert("ich"+"bin"+"dumm");

"ichbindumm" in einem alert-fenster ausgeben. So kannst du also ganz einfach deine funktion popup so umändern:

function popup(link, name, breite, hoehe) {
  window.open(link, name, "width="+breite+",hoehe="+hoehe);
}

Ich habe hier mal das zuweisen des Fensters einer Variable weggelassen, da es unnötig ist. Wie du siehst, wird der dritte parameter der methode open() "zusammengeschnitten":

"width=" + breite + ",hoehe=" + hoehe

[die leerzeichen zwischen + und string sind hierbei fakultativ]
Hierbei könnte am ende dann rauskommen:

width=215,height=535

und genausowas würde open() auch erwarten. So kannst du deinen Funktinosaufruf nun so gesatalten:

popup("http://www.da.de", "das-da-fenster", 200, 300);

Dies gibt also bei mir z.B. ein fenster mit 200px breite und 300px höhe. Die Zahlen als String hinzuschreiben, ist eigentlich nicht notwendig, da JavaScript mit dem "+"-Operator den Interger zu einem String umwandelt, da es erkennt, dass du einen string nicht mit einem interger addieren kannst.

Es wäre auch gut, wenn sich das Popupfenster automatisch schließen würde, wenn ich die Seite von der ich es aufgerufen habe verlasse.
Ist das möglich?

Ja, sogar leichter, als du dir jetzt vostellen magst. Du musst im dritten Parameter lediglich "dependent=yes" (Abhängig vom elternfenster = Ja) hinschreiben, dann wird's automatisch geschlossen, wenn das elternfenster sich schließt. Toll, was?

WauWau

--
Wau - hier ist mein Selfcode:
ss:) zu:) ls:< fo:~ de:] va:) ch:° n4:# rl:( br:< js:| ie:% fl:| mo:|
[mein alter sah optisch irgendwie besser aus ;-)]