timmie: Popup an Fotogroesse anpassen

Hallo,
ich habe in SelfHTML schon danach gesucht aber nur Sachen über "normale" Popups gefunden. Ich möchte aber Fotos in Popup Fenstern zeigen, diese sollen sich genau an der Größe des Fotos anpassen, also so dass das Popup immer gleich groß ist wie das Foto. Wie mach ich das?
Danke schon ma.

  1. Hallo,
    ich habe in SelfHTML schon danach gesucht aber nur Sachen über "normale" Popups gefunden. Ich möchte aber Fotos in Popup Fenstern zeigen, diese sollen sich genau an der Größe des Fotos anpassen, also so dass das Popup immer gleich groß ist wie das Foto. Wie mach ich das?
    Danke schon ma.

    Hi,

    viel Spaß dabei...
    Geht mit JavaScript und viel Tricksen, denn vergiss nicht, das für alle Browser getrennt zu codieren.

    Grüße aus Niedersachsen

    Chris

    1. wieso? ist das echt so kompliziert?
      Dann eben: Wie mache ich es das eine Popup Datei immer die entsprechenden Größen hat ohne angepasst. Also in einem Script die verschiedenen Größen rein, wie macht man das?

      1. wieso? ist das echt so kompliziert?
        Dann eben: Wie mache ich es das eine Popup Datei immer die entsprechenden Größen hat ohne angepasst. Also in einem Script die verschiedenen Größen rein, wie macht man das?

        Hallo,

        ja, das ist tatsächlich etwas nervig. IE macht das ja ganz toll aber NS ist ein Sch...lechter Browser.

        Benutze resizeTo   (beide)
        Benutze setTimeOut (NS) und lass das resizen zweimal durchführen

        wie die anderen reagieren weiß ich nicht.

        Außerdem haben beide ein anderes Verständnis für die Größe des resize-ten Bereiches. Rechnen mußt Du also auch noch.

        Ein Beispiel findest Du unter http://moeller-iselt.de

        Viel Erfolg

        Tom

        1. Hallo.

          wieso? ist das echt so kompliziert?
          Dann eben: Wie mache ich es das eine Popup Datei immer die entsprechenden Größen hat ohne angepasst.

          Benutze resizeTo   (beide)

          Nein, nein und noch einmal nein!!1 Das würde ich keinesfalls benutzen, weil das Fenster im Nachhinein "herumspringt". Das ist extrem lästig. Besser man öffnet sofort ein Popup mit der entsprechenden Größe, oder man lässt Popups komplett sein.

          "Beide" ist auch ganz witzig. Es gibt auch andere Benutzeragenten als IE und Netscape, und berücksichtigen sollte man alle.

          Benutze setTimeOut (NS) und lass das resizen zweimal durchführen

          Klingt noch abenteuerlicher.

          Ein Beispiel findest Du unter http://moeller-iselt.de

          -> href="javascript:..."
          Kein Kommentar. Dass sich die Macher Fachinformatiker nennen ist eine Farce.

          *Grrrr* Wer in Gottes Namen verfasst so einen Sch...marrn!?!

          <SCRIPT language="JavaScript">
          <!--//  [sic! --molily]

          if (navigator.appName=="Microsoft Internet Explorer")
             {
                top.window.resizeTo((screen.availWidth), (screen.availHeight));
                window.moveTo(0,0);
             }

          if (navigator.appName=="Netscape")
             {
                top.window.resizeTo((screen.availWidth - 10), (screen.availHeight - 165));
                window.moveTo(0,0);
             }

          if (navigator.appName!="Microsoft Internet Explorer" && navigator.appName!="Netscape")
             {
                top.window.resizeTo(1024, 768);
                window.moveTo(0,0);
             }
          //-->
          </SCRIPT>

          Dass jemand eine solche rücksichtslose Dreistigkeit besitzen kann... ts. Völliger Unsinn ist das. Im Opera-MDI wackelt nur kurz das Fenster.

          Grüße,
          Mathias (entzürnt)

          1. Guten Morgen mein Sohn,

            Du gehörst also zu diesen Leuten, die alles besser wissen. Wenn es nur solche gäbe, wie Dich, dann hätte es nie diese tollen Flugapparate gegeben, die heute überall zu sehen sind...

            Der Mut des Erfinders steckt manchmal auch in ungewöhnlichen Lösungen.

            Leonardo

            1. Hallo Sie charakterloses Wesen,

              Ich musste damit rechnen, dass ich angesichts dieses Postings für besserwisserisch und arrogant gehalten werde. Dies habe ich in Kauf genommen, wie ich es immer mache, wenn ich meine Meinung äußere oder ablehnende Haltung signalisiere. Jede Kritik daran halte ich für berechtigt, wenn jemand den Anstand besitzt, unter seinem richtigen Namen bzw. Pseudonym zu schreiben. Jede Äußerung von anonymen Wesen, die sich zudem unter blödsinnigen lautenden Namen verstecken, sehe ich als lachhaft an und ignoriere sie rigoros. Diese Diskussion gab es schon zur Genüge in diesem Forum.

              Du gehörst also zu diesen Leuten, die alles besser wissen. Wenn es nur solche gäbe, wie Dich, dann hätte es nie diese tollen Flugapparate gegeben, die heute überall zu sehen sind...

              Diese tollen Himmelsfahrzeuge zerstören die Erde. Entweder pumpen sie Treibhausgase direkt in die Atmosphäre oder sie bringen Tod und Zerstörung aus der Luft.

              Der Mut des Erfinders steckt manchmal auch in ungewöhnlichen Lösungen.

              Den Vergleich halte ich für äußerst unpassend. Die von mir genannten hirnlosen "Erfindungen" sind sicherlich mutig und gewagt, aber dies sehe ich nicht positiv.
              In dem Punkt würde ich es wie Clara Immerwahr halten und von ungewöhnlichen Lösungen Abstand nehmen. (...)

              Leonardo

              Pappnase[tm]!

              Grüße,
              Mathias

    2. Hallo,

      ich habe in SelfHTML schon danach gesucht aber nur Sachen über "normale" Popups gefunden.

      Dann nehme ich an, dass du http://home.t-online.de/home/dj5nu/js-popup.html schon gelesen hast...?

      Ich möchte aber Fotos in Popup Fenstern zeigen, diese sollen sich genau an der Größe des Fotos anpassen, also so dass das Popup immer gleich groß ist wie das Foto. Wie mach ich das?
      Geht mit JavaScript und viel Tricksen, denn vergiss nicht, das für alle Browser getrennt zu codieren.

      Mit Verlaub, das ist Schwachsinn.

      http://selfhtml.teamone.de/javascript/objekte/window.htm#open
      Mit den "Flags" height und width im dritten Funktionsparameter  von window.open() lässt sich die Größe des zu öffnenden Fensters festlegen.
      Ich würde mit PHP und getimagesize() arbeiten: http://www.php.net/manual/de/function.getimagesize.php
      Den Aufruf des Popups könnte man mit PHP (oder Perl/Python/generell CGI) generieren, die Parameter der Bildgröße werden mit PHP ausgelesen und dann ausgegeben, um einen Link zu generieren. Beispielsweise:

      <?php
      function bildlink ($linktext, $bilddatei) {
       $rand=10;
       $bildgroesse=getimagesize($bilddatei);
       echo('<a href="'.$bilddatei.' onclick="popup('bildscript.php?'.$bilddatei.'','.$bildgroesse[0]+$rand.','.$bildgroesse[1]+$rand.'); return false">'.$linktext.'</a>');
      }
      ?>

      Aufruf:

      <?php bildlink('Ralf und Simon trinken Malzbier', 'ralfundsimon.jpg'); ?>

      Die JavaScript-Funktion:

      <script type="text/javascript">
      <![CDATA[
      function popup (url, breite, hoehe) {
       var fenster=window.open(url, "fenster", "width="+breite+",height="+hoehe+",status=no,scrollbars=no,resizable=yes");
       fenster.focus();
      }
      ]]>
      </script>

      Die Datei bildscript.php (nur body, oben bin ich von 10px Rand ausgegangen):

      <?php
      if (isset($HTTP_SERVER_VARS['QUERY_STRING']) && (!empty($HTTP_SERVER_VARS['QUERY_STRING']))) {
       $bilddatei=$HTTP_SERVER_VARS['QUERY_STRING'];
       $bildgroesse=getimagesize($bilddatei);
       echo('<div><a href="javascript:window.close();"><img src="'.$bilddatei.'" alt="(Alternativtext)" width="'.$bildgroesse[0].'" height="'.$bildgroesse[1].'" '.$bildgroesse[3].' /></a></img></div');
      } else {
       echo('<p><strong>Fehler:</strong> Kein Bildname zum Anzeigen übermittelt!</p><p><a href="javascript:window.close()">Fenster schließen</a></p>');
      }
      ?>

      Alles ungetestet und auf die Schnelle geschrieben. Vielleicht ist mir etwas entfallen. Die Bildbeschreibung könnte man natürlich auch übermitteln. Besser aber man macht alles mit einer Datenbank, *SQL oder arraybasiert, wie man möchte und wie es passt.

      Mathias
      (Hilfe zur Selbsthilfe? ;))

  2. Grüß Gott! Ein etwas umständlicher, aber funktionierende Weg ist dieser:

    Wenn du die Pixel-Ausmaße des zu öffnenden Bildes kennst, kannst du es folgendermaßen machen:

    <A HREF="bild.jpg" TARGET="Bild" ONCLICK="window.open('', 'Bild', 'width=500, height=660 resizable=no,scrollbars=no')">Linktext</A>

    wichtig sind hier die width- und height-Angaben, die bestimmen die Größe des PopUps. rezisable und scrollbars sind in meinem Beispiel auf "no" gesetzt, damit die Größe des PopUps nicht verändert werden kann und keine Scrollleisten angezeigt werden. Die optimale PopUp-Größe kriegst du aber hauptsächlich durch Probieren raus...

    Vielleicht konnte ich dir ja helfen, aber wer kann mir helfen?
    http://forum.de.selfhtml.org/?m=131028&t=23681

  3. Hallo,
    ich habe in SelfHTML schon danach gesucht aber nur Sachen über "normale" Popups gefunden.

    Nun ja... ich werde Deine tollen Pop-Ups nie sehen können. Ich hab meinem Browser aus einer Reihe guter Gründe heraus sowas verboten.
    Denkst Du auch an mich, wenn Du die Seite machst? Bitte, bitte!

    fastix