Heinz Weber: Popups jedes Mal neu an Größe anpassen

Hallo,

ich denke mal, jeder kennt so halbwegs das Problem. Ich habe es so eingerichtet, dass beim Klicken auf ein Bild ein Popup mit vorgegebener Größe geöffnet wird. Es handelt sich dabei nicht, wie in der Vielzahl der Fälle, um ein sich automatisch an die Bildgröße anpassendes Popup.

Das Popup öffnet ein in eine HTML-Datei eingebundenes Bild.

In dem geöffneten Popup gibt es einen Link zu einem weiteren Bild (ebenfalls in eine HTMl-Datei eingebunden; gilt für alle Bilder).

Mein Problem ist zur Zeit, dass ich Bilder mit dem Seitenformat von 4:3 und 3:4 habe. Wenn man also nun bspw. das erste "4:3 Bild" / Popup öffnet, passt die Größe des Popups beim nächsten "3:4 Bild" nicht mehr. Da müsste die Popupgröße vertauscht werden.

Möglichst sollte das Popup sich dynamisch anpassen (die Popupgröße soll aber nach wie vor manuell eingegeben werden). Die Alternative, dass Popup zu schließen und direkt im Anschluss ein neues zu öffnen scheint mir nur unnötig Ressourcen zu verbrauchen.

Bisher habe ich aber noch nichts gefunden. Hat jemand von euch eine Idee ?

Gruß Heinz

  1. Hallo Heinz,

    Bisher habe ich aber noch nichts gefunden. Hat jemand von euch eine Idee ?

    Schon mal mit window.picwin.resizeTo(); versucht? Das sollte Dein beschriebenes Problem lösen...

    Mit freundlichem Gruß
    Micha

    1. Hallo,

      hmm, muss natürlich so sein
      window.<popupname>.resizeTo();

      Mit freundlichem Gruß
      Micha

      1. Hallo,

        hmm, muss natürlich so sein
        window.<popupname>.resizeTo();

        Mit freundlichem Gruß
        Micha

        Hallo,

        vielen vielen Dank. Das funktioniert einwandfrei.

        Nun stelle ich aber auch gerade ein weiteres Problem fest:
        Bie den Bildern, bei denen die vertikale Komponente die längere ist, werden beim Wechsel der Bilder innerhalb des Popups keine Scrollleisten angezeigt (Bild ist für das PopUp zu groß). Das Problem liegt darin, dass nur eine Instanz des Popups gestartet wird mit der Eigenschaft 'scrollbars=no'. Wenn ich von einem Bild mit 4:3 zu 3:4 wechsle, werden natürlich keine Scrollleisten angezeigt. Rufe ich das 3:4 Bild dagegen direkt auf,  sozusagen als Startpopup, zeigt er mir Scrollleisten, da dies so eingestellt war. Kann ich zusätzlich irgendwie noch übergeben, dass er beim Wechsel im Popup zum nächsten Bild Scrollleisten anzeigen soll ?

        Wenn ich stattdessen vorgäbe, 'scrollbars=yes' habe ich im Popup bei jedem Bild eine meist unnütze Scrolleiste, die das Popup nur unnötig größer macht und auch nicht gerade schön aussieht.

        Gruß
        Heinz

        1. Hallo,
          Du kannst mit:
          <popupname>.document.open();
          <popupname>.document.write("<html>\n[...] <style> body, html { margin:0px; padding:0px; ...</style>...<img src="beinbild.png">...</html>");
          <popupname>.document.close();

          Eine temp-HTML Seite ins Fenster schreiben. Durch margin und padding 0px; sollte das Bild anliegen. Ansonsten mach das PopUp einfach 2, 3 Pixel Größer...

          Mit freundlichem Gruß
          Micha

  2. Lieber Heinz,

    ich weiß ja nicht für welchen Zweck Du Deine "Seiten" schreibst, aber wenn Du sie im WWW veröffentlichst, dann musst Du davon ausgehen, dass da Besucher kommen, die entweder kein (oder ein deaktiviertes) Javascript haben, oder aber einen Popup-Blocker verwenden, in beiden Fällen also von Deinen Links nichts haben...

    Ich habe dieses Problem auf meine Weise gelöst. Vielleicht findest Du in den Quelltexten etwas, das Du gebrauchen kannst?

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    1. Hallo Felix,

      Ich habe dieses Problem auf meine Weise gelöst. Vielleicht findest Du in den Quelltexten etwas, das Du gebrauchen kannst?

      Hey, so habe ich es auch gelöst, nur das ich das PopUp bei aktivietem JS auch noch verschiebbar gemacht habe - Dank der Funktion hier in SelfHTML
      Galeriebeispiel

      Deine Bedenken bezüglich deaktiviertem JS kannst Du ja umgehen. Wenn mit this.href auf die Bildadresse zugegriffen wird, öffnet sich das Bild ja auch - nur nicht im PopUp...

      Mit freundlichem Gruß
      Micha