Motago: Neu geöffnetes Fenster an Bildgröße anpassen?

Hallo,

ich habe ein Bild in Miniaturansicht. Bei anklicken des Bildes soll sich ein neues Fenster öffnen welches nun aber automatisch die Größe des Bildes hat was auf der neuen Seite gezeigt wird.
Also die gleiche Höhe und Breite wie das Bild.
Wie realisiere ich dieses?

  1. Dann frag die Größe des Bildes doch einfach ab:

    Breite = document.getElementById(Bildid).naturalWidth;
    Hoehe = document.getElementById(Bildid).naturalHeight;

    danach kannst Du doch ein geeignetes Fenster öffnen.

    MfG
    Klaus

    1. hi,

      Breite = document.getElementById(Bildid).naturalWidth;
      Hoehe = document.getElementById(Bildid).naturalHeight;

      danach kannst Du doch ein geeignetes Fenster öffnen.

      dazu muss das bild aber bereits einmal vom browser geladen worden sein.

      gruss,
      wahsaga

      1. danke,

        für eure schnell antwort. ich muss dazu sagen das ich bisher nie mit javascript gearbeitet habe und eigentlich nur diese eine funktion(bildgröße automatisch anpassen) brauche.
        Also um es zu vereinfachen sieht es bisher so aus:

        <html>
        <head>
        <title>Text des Titels</title>
        <script type="text/javascript">
        <!--
        function NeuFenster() {
         MeinFenster =
         window.open("datei2.htm", "Zweitfenster", "width=142,height=340,scrollbars=0");
         MeinFenster.focus();
        }
        //-->
        </script>
        </head>
        <body>

        <a href="javascript:NeuFenster()"><img src="button1.jpg"></a>

        </body>
        </html>

        Dabei öffnet sich halt n neues Fenster mit 142x340.
        1. Wo trage ich bei dem Script jetzt eure Daten ein?
        2. @wahsaga: Was heißt deine AUssage genau? "dazu muss das bild aber bereits einmal vom browser geladen worden sein.

        1. Was heißt deine AUssage genau? "dazu muss das bild aber bereits einmal vom browser geladen worden sein.

          Solange der Browser das Bild nicht geladen hat kennt er es nicht, damit kennt er auch dessen Dimensionen nicht.
          Also am besten vorher mit style="display:hidden;" laden, dann kennt er die Dimensionen.

          document.write("window.open('datei2.htm', 'Zweitfenster', 'width='+document.getElementById(Bildid).naturalWidth + ',height='+document.getElementById(Bildid).naturalHeight + ',scrollbars=0');");
          );

          MfG
          Klaus

          1. ist natürlich Unsinn, ist doch alles schon script, also so ist es besser:

            window.open('datei2.htm', 'Zweitfenster', 'width='+document.getElementById(Bildid).naturalWidth + ',height='+document.getElementById(Bildid).naturalHeight + ',scrollbars=0');

            MfG
            Klaus

        2. Hello,

          1. @wahsaga: Was heißt deine AUssage genau? "dazu muss das bild aber bereits einmal vom browser geladen worden sein.

          Bin zwar nicht wahsaga, aber als Abhilfe gibt es setTimeout()
          Die resize-Funktion darf erst aufgerufen werden, wenn der Ladevorgang des Bildes abgeschlossen sit. Beim guten alten NS 4.7 musste man das resize sogar zweimal ausführen, damit er es auch behielt.

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            1. @wahsaga: Was heißt deine AUssage genau? "dazu muss das bild aber bereits einmal vom browser geladen worden sein.

            Bin zwar nicht wahsaga, aber als Abhilfe gibt es setTimeout()

            Nö, dafür gibt es den onload Event, der wird gefeuert, wenn das fertig Bild geladen ist. siehe auch mein Skript.

            Struppi.

            1. Hello,

              Nö, dafür gibt es den onload Event, der wird gefeuert, wenn das fertig Bild geladen ist. siehe auch mein Skript.

              Wo?

              Liebe Grüße aus http://www.braunschweig.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              1. hi,

                Nö, dafür gibt es den onload Event, der wird gefeuert, wenn das fertig Bild geladen ist. siehe auch mein Skript.

                Wo?

                na da: [pref:t=69870&m=402296]

                gruss,
                wahsaga

                1. Hello,

                  Nö, dafür gibt es den onload Event, der wird gefeuert, wenn das fertig Bild geladen ist. siehe auch mein Skript.

                  Wo?

                  na da: [pref:t=69870&m=402296]

                  Fein, hab ich übersehen. Muss ich gleich ausprobieren, ob es denn auch in allen verfügbaren Browsern funktioniert und dann bunkern...

                  Liebe Grüße aus http://www.braunschweig.de

                  Tom

                  --
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                  1. na da: [pref:t=69870&m=402296]

                    Fein, hab ich übersehen. Muss ich gleich ausprobieren, ob es denn auch in allen verfügbaren Browsern funktioniert und dann bunkern...

                    onload funktioniert in Netscape 3 (2?), IE 4, Opera ?. Ist also nichts neues.

                    var img = new Image();

                    img.onload = function () { alert(this.src); };
                    img.src = url;

                    Struppi.

  2. ich habe ein Bild in Miniaturansicht. Bei anklicken des Bildes soll sich ein neues Fenster öffnen welches nun aber automatisch die Größe des Bildes hat was auf der neuen Seite gezeigt wird.
    Also die gleiche Höhe und Breite wie das Bild.
    Wie realisiere ich dieses?

    Das ist nicht ganz trivial, da die Browser unterschiedliche Vorstellungen von der Fenstergröße haben. ich hab hier mal ein skript geschrieben, das Ansatzweise das tut was du willst http://home.arcor.de/struebig/js/popup/popup_alt.htm ist aber nicht 100% korrekt, da es im Mozilla noch scrollbalken anzeigt.

    Struppi.