Wolfgang See: neue Fenster m. Argumenten-Uebergabe

Hallo,
ich möchte verschieden große Grafiken in jeweils neue
Browserfenster öffnen.
Ich habe dazu folgendes Script, das funktioniert:
-----
function BildFenster()
   {
       if(navigator.appVersion.substring(0,1) >= "4")
            {
                 if (screen.height >= 600)
                    {
                    NeuBildFenster =
                    window.open("graphics/winstar.gif", "Bildfenster", "width=510,height=600,scrollbars,resizable")
                    NeuBildFenster.focus();
                    }
            }
       else
            {
                 NeuBildFenster =
                 window.open("graphics/winstar.gif", "Bildfenster", "width=510,height=410,scrollbars,resizable")
                 NeuBildFenster.focus();
            }
   }
-----

etwas modifiziert, sodass ich mit einem Script unterschiedlich
große Grafiken mit entsprechend angepasster Fenstergröße öffnen kann.

-----
function BildFenster(Bild_PfadName,BildBreite,BildHoehe)
   {
        if(navigator.appVersion.substring(0,1) >= "4")
            {
                   if (screen.height >= 600)
                      {
                       NeuBildFenster =
                       window.open(Bild_PfadName, "Bildfenster", width=BildBreite + 16, height=BildHoehe + 26,"scrollbars,resizable")
                       NeuBildFenster.focus();
                      }
            }
        else
            {
                   NeuBildFenster =
                   window.open(Bild_PfadName, "Bildfenster", width=BildBreite + 32, height=410,"scrollbars,resizable")
                   NeuBildFenster.focus();
            }
   }
-----
Im <body> rufe ich dann die Grafik  z.B. mit
-----
<A HREF="javascript:BildFenster('graphics/winstar.gif',478,478);"><IMG SRC="graphics/montes.gif" ...usw
-----
auf.
So dachte ich mir das jedenfalls.
Der relative Pfad mit der Grafik wird an die Funktion übergeben,
jedoch das neue Fenster öffnet immer nur mit der gleichen Größe
des bereits vorhandenen Fensters.
Ich habe natürlich schon diverse Varianten der Anführungsstrich-
Setzung ausprobiert - sowie auch zusätzliche Variablen.
Geht das überhaupt so, wie ich mir das vorstelle?
Vielen Dank im voraus und
Gruß
Wolfgang

  1. Hallo Wolfgang!

    window.open(Bild_PfadName, "Bildfenster", width=BildBreite + 16, height=BildHoehe + 26,"scrollbars,resizable")

    So dachte ich mir das jedenfalls.

    Im Prinzip.. ja, man sieht was du willst ;-)

    Ich habe natürlich schon diverse Varianten der Anführungsstrich-
    Setzung ausprobiert [...]

    Die richtige war wohl noch nicht darunter:

    "width="+BildBreite + 16+",height="+BildHoehe + 26+",scrollbars,resizable"

    Drei Sachen dazu:

    Es muss _ein_ String (Zeichenkette) erzeugt werden, der alle Werte, mit Komma getrennt und ohne Leerzeichen enthält. Der wird als _ein_ Parameter an window.open übergeben. In deinem Versuch bekommt window.open an der Stelle 3 Parameter, mit denen es nix anfangen kann.

    Strings werden mit dem + Zeichen aneinandergehängt.

    Zum Testen ist evtl. folgendes günstiger:

    fenstereinstellungen="width="+BildBreite + 16+",height="+BildHoehe + 26+",scrollbars,resizable";
    alert(fenstereinstellungen); // hier wird dir der String angezeigt, so daß du ihn kontrollieren kannst
    window.open(Bild_PfadName, "Bildfenster",fenstereinstellungen); // und hier wird das Fenster wirklich aufgemacht

    Gruss,
    Carsten

    1. Hallo Carsten,

      Ich habe natürlich schon diverse Varianten der Anführungsstrich-
      Setzung ausprobiert [...]

      Die richtige war wohl noch nicht darunter:

      scheint so ;-)

      Drei Sachen dazu:

      ....

      »»

      Vielen Dank für Deine ausfühliche Antwort.
      Aber ich habe schon viereckige Augen - ich probier das morgen aus
      Gruß
      Wolfgang