Calocybe: Howto: Popups mit JavaScript

Beitrag lesen

Gruesse!

eine Verbesserung hätte ich noch:
<a href="foo.html" onclick="return oeffnefenster(this.href);">

Finde die Idee gut, haette man eigentlich schonmal eher drauf kommen koennen.

Die Funktion sähe so aus:
function oeffnefenster3 (url, target) {
fenstername=target; // (*)
var fenstername=window.open(url, target, "width=640,height=480,status=yes,scrollbars=yes,resizable=yes");
fenstername.focus();
return false;
}

(*) Evtl. unnötig, aber er soll den Variableninhalt von target als neuen Variablennamen verwenden, ich weiß nicht, wie man das in JavaScript löst, aber so funktioniert es.

Noe. Du legst da zwei Variablen an, eine globale und eine funktionslokale (wegen var), und beide heissen 'fenstername' und verwenden keineswegs den Inhalt von target als Variablenname. Die globale hat als Inhalt den Inhalt von target, ist also eine Kopie davon. Die lokale hat als Inhalt die Fensterreferenz, die von window.open() zurueckgegeben wird. Da diese Variable aber beim Funktionsende ihre Gueltigkeit verliert, schmeisst Du an dieser Stelle die Fensterreferenz einfach weg. Schade. *g*

Willst Du den Inhalt von target als Variablenname benutzen, musst Du mit eval() arbeiten. Ungetestet:
  function oeffnefenster3 (url, target) {
    var wnd = window.open(url, target, "width=640,height=480,status=yes,scrollbars=yes,resizable=yes");
    wnd.focus();
    eval(target + " = wnd");
    return false;
  }

Das setzt aber auch voraus, dass es in der Funktion nicht zufaellig eine Variable mit dem Namen gibt, der in target steht, sonst wuerde diese naemlich benutzt statt eine neue globale anzulegen.

Ehrlich gesagt weiß ich nicht, ob ich den Menschen eine Lösung empfehlen soll, wie man mehrere Popups realisieren kann, eigentlich wollte ich mit dem Howto davon abraten, Popups überhaupt zu benutzen. Meiner Meinung nach ist ein Popup schon mehr als zuviel.

Yupp.

So long

--
In God we trust, everybody else we monitor...