roger: fenster vergrößern

houdie folks and friends!
als ich neulich so vor mich hin ritt, stellte sich mir folgende frage:
wenn ich ein pop-up fenster per

function Bild(URL, WIDTH, HEIGHT)
{
fenster=window.open(URL,"Foto","width="+WIDTH+",height="+HEIGHT+",top=0,left=0,menubar=no, status=no, scrollbars=yes, resizable=no");
fenster.focus();
}

öffne, ist natürlich alles im grünen bereich. doch wenn ich abermals über diese funktion ein weiteres fenster öffnen möchte, mit anderen größenangaben, dann bekomme ich leider nur ein fenster mit den alten größenwerten...

wie kann man so etwas umgehen?

thank you and houdie ho!
yieppie yah hey!

roger.

  1. Hallo,

    wenn ich ein pop-up fenster per

    function Bild(URL, WIDTH, HEIGHT)
    {
    fenster=window.open(URL,"Foto","width="+WIDTH+",height="+HEIGHT+",top=0,left=0,menubar=no, status=no, scrollbars=yes, resizable=no");
    fenster.focus();
    }

    öffne, ist natürlich alles im grünen bereich.

    Eigentlich nicht, weil du damit dem User verbietest, die Fenstergröße zu ändern, was IMHO ziemlich nerven kann. Aber das ist eine andere Geschichte.

    doch wenn ich abermals über diese funktion ein weiteres fenster öffnen möchte, mit anderen größenangaben, dann bekomme ich leider nur ein fenster mit den alten größenwerten...

    wie kann man so etwas umgehen?

    var fenster=window.open(...);
    ^^^

    Müsste funktionieren, da hier die Variable "fenster" nicht global ist. Wenn du aber später nicht mehr auf das Fenster zurückgreifen möchtest, kannst du die Zuweisung auch ganz weglassen:

    window.open(...);

    Robert

    1. Hallo,

      var fenster=window.open(...);
      ^^^

      sorry, hatte mich nicht richtig ausgedrückt.
      das damit geöffnete fenster ist noch offen und ein neuer inhalt wird hineingeschrieben, mit anderen fenstergrößen...

      r.

      1. Hallo,

        var fenster=window.open(...);
        ^^^

        sorry, hatte mich nicht richtig ausgedrückt.
        das damit geöffnete fenster ist noch offen und ein neuer inhalt wird hineingeschrieben, mit anderen fenstergrößen...

        Es wird also zuerst ein neues Fenster geöffnet, das eine bestimmte Seite anzeigt und nach einer festgelegten Aktion des Users soll im Fenster eine andere Seite erscheinen und die Größe des Fensters soll sich ändern?

        Dazu müsstest du zuerst die Funktion "Bild" aufrufen, um das Fenster zu öffnen.
        Sobald im Fenster eine neue Seite erscheinen soll, notierst du einfach:
          fenster.resizeTo(200,300);
          fenster.location.href = "neueseite.htm";

        Damit wird die Größe des Fensters verändert und anschließend eine Neue Seite hineingeladen.

        Allerdings solltest du zuerst abfragen, ob das fenster überhaupt bereits geöffnet wurde und ob es auch nicht bereits geschlossen wurde:

        if (fenster && fenster.closed == false) {
          fenster.resizeTo(200,300);
          fenster.location.href = "neueseite.htm";
        } else {
          Bild("neueseite.htm",200,300);
        }

        Falls das Fenster noch nicht geöffnet wurde, oder falls es bereits geschlossen wurde wird in diesem Beispiel ein neues Fenster geöffnet (else-Zweig).

        Robert

  2. houdie folks and friends!

    function Bild(URL, WIDTH, HEIGHT)
    {
    fenster=window.open(URL,"Foto","width="+WIDTH+",height="+HEIGHT+",top=0,left=0,menubar=no, status=no, scrollbars=yes, resizable=no");
    fenster.focus();
    }

    die einfachste variante wäre hier einfach ein neues fenster zu öffnen (damit liese es sich leben). dazu muss ich einfach noch einen neuen parameter mit übergeben, der den fensternamen beinhaltet. somit gehe ich ganz sicher, dass auch das neue fenster ordnungsgemäß geöffnet und angezeigt wird:

    function Bild(URL, NAME, WIDTH, HEIGHT)
    {
    var fenster=window.open(URL,NAME,"width="+WIDTH+",height="+HEIGHT+",top=0,left=0,menubar=no, status=no, scrollbars=yes, resizable=no");
    fenster.focus();
    }

    bin ich dann doch mal wieder selber drauf gekommen...

    yieppie yah hey!

    roger.