$xNeTworKx: Popups wollen nicht so recht.

Hallo,
irgendwie hab ich mit Popups immer Probleme. Ich habe eine Funktion, die entweder das eine, oder andere Fenster öffnen soll. Hierzu habe ich folgende Funktion in der .js Datei :

function openpopup(a)  {
Fenster = window.open(a);
Fenster.focus();
}

Anfang wollte ich die Funktion so aufrufen :
<a href="javascript:openpopup(popup2)"><img src="pics/smileytag2.gif" width="60" height="15" alt="Smileys 2"></a>

mit zugehöriger Definition in der .js Datei :
popup2 = "'popup.html','popup','width=160,height=350,left=580,top=250,scrollbars=yes'";

Aber so bekomme ich entweder "THE REQUESTED URL WAS NOT FOUND..." oder "FORBITTEN".

Jetzt habe ich es mal so versucht :
    <tr><td class="postreplymiddle"><a href="javascript:openpopup('popup.html','popup','width=160,height=350,left=580,top=250,scrollbars=yes')"><img src="pics/smileytag1.gif" width="60" height="15" alt="Smileys 1"></a>

Nur dummerweise öffnet sich ein ganz normaler neues Fenster mit Toolbar usw.

Wo befindet sich hier der Fehler ?

$xNeTworKx.

  1. Hallo $xNeTworKx,

    <a href="javascript:openpopup(popup2)"><img src="pics/smileytag2.gif" width="60" height="15" alt="Smileys 2"></a>

    Bitte lies http://home.t-online.de/home/dj5nu/js-popup.html und erkenne, wieso javascript:-Links hirnlos sind.

    function openpopup(a)  {
    Fenster = window.open(a);
    Fenster.focus();
    }
    popup2 = "'popup.html','popup','width=160,height=350,left=580,top=250,scrollbars=yes'";

    Das geht so nicht, denn window.open wird nur *ein* Parameter übergeben, der übergebene String wird nicht geparst, deshalb kann der Browser den String "'popup.html','popup','width=160,height=350,left=580,top=250,scrollbars=yes'" nicht als URL interpretieren.

    Aber so bekomme ich entweder "THE REQUESTED URL WAS NOT FOUND..." oder "FORBITTEN".

    Das ist vorhersehbar, du könntest es so lösen:

    function openpopup(url, fenstername, fensteroptionen)  {
    Fenster = window.open(url, fenstername, fensteroptionen);
    Fenster.focus();
    }
    url="popup.html",
    fenstername="popup";
    fensteroptionen="width=160,height=350,left=580,top=250,scrollbars=yes,toolbar=no,status=yes,resizable=yes,menubar=no,location=no";

    Der Aufruf wäre in dem Falle: <a href="popup.html" onclick="openpopup(url, fenstername, fensteroptionen); return false">...</a>

    Im Übrigen verstehe ich nicht, wieso du die Parameter nicht einfach direkt (lokal) übergibst, damit könntest du Popups mit verschiedenen Zielseiten öffnen.

    Jetzt habe ich es mal so versucht :
        <tr><td class="postreplymiddle"><a href="javascript:openpopup('popup.html','popup','width=160,height=350,left=580,top=250,scrollbars=yes')"><img src="pics/smileytag1.gif" width="60" height="15" alt="Smileys 1"></a>

    Nur dummerweise öffnet sich ein ganz normaler neues Fenster mit Toolbar usw.

    Du musst explizit im dritten Parameter angeben, dass keine Toolbar angezeigt werden soll. Oben habe ich es schon vorgemacht. Genauere Parameterbeschreibung unter:
    http://dcljs.de/faq/antwort.php?Antwort=fenster_winopen
    http://selfhtml.teamone.de/javascript/objekte/window.htm#open

    Wo befindet sich hier der Fehler ?

    Benutze keine Popups, oder mache sie zumindest zugänglich.
    In meinem o.g. Popup-Howto findest du Antworten auf Fragen rund um Popups.

    Grüße,
    Mathias
    (Anti-Popup-Bot)

    1. Hi Matthias,

      danke für die Hilfe.
      P.S Ich bin normalerweise auch ein Popup Gegner, nur habe ich hier ein Forum gebastelt, daß so um die 200 Smileys hat, und um den Traffic und die Ladezeit etwas einzuschränken, will ich ca 150 Smileys in 2 Popups aufteilen, die man bei Bedarf aufklicken kann.

      $xNeTworKx.