Timo "Blazko" Boewing: PopUp mit dyn. Groesse (Image)

Hallo allerseits!

Habe das ganze Forum schon durch und bin verwundert, dass die Frage seit dem reopen in keinem Thread zu finden ist. 8-Q

Das Problem: ein window.open soll ein neues Fenster mit einem Bild darstellen. Egal, ob ich das Bild direkt als URL and open() uebergebe oder mit document.write die Tags reinschreibe: das Bild wird immer dargestellt, jedoch wird das Fenster erst beim zweiten Anschauen richtig vergroessert / verkleinert; sprich wenn es schonmal im Chache war.
Die Abfrage von image.complete bringt nichts (auch ohne Browser-Bug), etwa via while()-Schleife und setTimeout etc.

Die meisten Seiten verwenden immer gleich grosse Bilder oder uebergeben hartverdrahtete Bildgroessen (z.B. via CGI etc.). Nun besitzt aber das Image-Objekt die Eigenschaften .height und .width und kann sie in diesem Kontext nicht nutzen... schade.

Vielen Dank für Lösungen oder andere Vorschlaege, Gruss,

Timo

  1. Joho,

    [...]

    Was ist jetzt eigentlich deine Frage?

    Gruss,
     CK

    1. Joho,

      [...]

      Was ist jetzt eigentlich deine Frage?

      Gruss,
      CK

      Rehi,

      naja, die Frage ist, ob und wie man Bilder in einem eigenen PopUp hinkriegt, dass sich dynamisch an die Bildgroesse anpasst, ohne die Pixelmasse fest zu hinterlegen (soll also theoretisch mit jedem unbekannten Bild funktionieren).
      Das ganze sollte mit den - durchaus technisch vorhandenen - gegebenen JavaScript-Funktionen klappen.
      ...zumindest unter Mozilla 0.95 und IE5+...

      Gruss,

      Timo

      1. Hi,

        probiers mal damit:

        <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
        <html>
          <HEAD>
              <script language="JavaScript">
              function set_size()
              {
              var hoehe=document.bild.height;
              var breite=document.bild.width;
              var h=screen.availHeight;
              var b=screen.availWidth;
              if (h<=hoehe) hoehe=h;
              if (b<=breite) breite=b;
              window.innerHeight=hoehe+115;
              window.innerWidth=breite+60;
              }
            </script>
          </HEAD>
          <body>

        <img name="bild"  SRC="abc.jpg"><br>

        <script> set_size(); </script>
          </body>
        </html>

        In SelfHTML sind die für diesen Zweck wichtigen JS-Befehle "height" und "width" beschrieben.

        Gruß
        Kay

        Joho,

        [...]

        Was ist jetzt eigentlich deine Frage?

        Gruss,
        CK

        Rehi,

        naja, die Frage ist, ob und wie man Bilder in einem eigenen PopUp hinkriegt, dass sich dynamisch an die Bildgroesse anpasst, ohne die Pixelmasse fest zu hinterlegen (soll also theoretisch mit jedem unbekannten Bild funktionieren).
        Das ganze sollte mit den - durchaus technisch vorhandenen - gegebenen JavaScript-Funktionen klappen.
        ...zumindest unter Mozilla 0.95 und IE5+...

        Gruss,

        Timo

  2. Hallo!

    [...] jedoch wird das Fenster erst beim zweiten Anschauen richtig vergroessert / verkleinert; sprich wenn es schonmal im Chache war.

    Das ist auch logisch, da die Grafik ja erst geladen werden muß, um die Höhe und Breite zu bestimmen.

    Eine Lösung wäre, die Grafik mit 1px mal 1px im neuen fenster zu öffnen und dann per onLoad die Breite und Höhe zu bestimmen und das Fenster entsprechend zu vergrößern/verkleinern. Alternativ könntest Du die Grafiken auch vorladen. Dann wären Breite und Höhe bereits bekannt.

    HTH Markus