Simon: POP + IMG: ewiges quälen und basteln

Hi!

Ich habe ja schon einiges an PopUps ausprobiert, die angeblich sich den Bildern (in der Größe) anpassen, die darin enthalten sind.

Es scheitert meistens an den Browserunterschieden:

  • entweder verstehen die resizeto nicht alle richtig
  • zeigen den Inhalt gernicht erst an
  • haben Speicherbugs beim depend=yes
  • zeigen nicht die richtige Größe an, sondern wieder Scrollbalken
  • sind nicht abwärtskompatibel zu den 6.x/5.x/4.x Browsergeneration

Am Ende bleibt wohl dann immer wieder <a href="bild.gif" target="_blank">Bild</a> ...

Oder hat von euch schon jemals eine Narrenfreie Version entdeckt bzw. selber geprogged? Wenn ja, dann hier posten!!

Simon

  1. Servus,

    narrensicher wäre, das popup per JS zu erzeugen und dann via Document.write den HTMLCode in das Fenster zu schreiben.
    Damit kannst Du dann im Img Tag die grösse angeben.

    Was besseres fällt mir dazu nicht ein.

    Gruss Matze

    PS. Nein 1. bin ich zu faul und 2. auf anhieb könnte ich es auch nicht codieren. Also kein Code von mir zum abschreiben um diese Uhrzeit, weil ich grad selber nachschauen müsste wie`s nochmals geht und ich jetzt dazu zu faul bin.

    Schau selber nach http://selfhtml.teamone.de

    1. Hallo Matze,

      narrensicher wäre, das popup per JS zu erzeugen und dann via Document.write
      den HTMLCode in das Fenster zu schreiben.

      Und wenn irgendein Narr Javascript ausgeschaltet hat? ;-)
      (Es gewinnen immer die Narren)

      Etwas sicherer wäre wahrscheinlich diese Variante:

      <a href="bild.gif" onClick="oeffnePopup(blafasel); return false;">..

      Warum? Bei Vorhandensein von Javascript kann man so mit einer Funktion das
      Popup öffnen, eventuell mit »richtigen Browserweichen« (soll heißen: Keine
      Überprüfung auf ewaige Namensangaben, sondern auf Fähigkeiten) diese Funktion
      auch noch den Browsern entsprechend modifizieren. Und das return false sorgt
      dafür, daß der href-Bestandteil des Links nicht ausgeführt wird.
      Ist dann dagegen Javascript ausgeschaltet, ist dann immer noch die Möglichkeit
      gegeben per Link das Bild zu betrachten bzw. selbstgewählt in einem eigenen
      Fenster oder Tab zu öffnen.

      Tim

      --
      [x] Für die Einführung des Themenbereiches »Python«
      1. Hi Tim,

        Ich ging natürlich von dieser Einbindung aus versteht sich. ;-))

        Jaja wenn die Narren unterwegs sind.

        Besser ist Deine Lösung auf jeden Fall.
        An die JS Deaktivierer habe ich nun grad gar nicht gedacht.

        Gruss Matze

  2. hi,

    Am Ende bleibt wohl dann immer wieder <a href="bild.gif" target="_blank">Bild</a> ...

    ist doch auch die benutzerfreundlichste(*) version, also was spricht dagegen? (und was _für_ widerliche popups?)

    gruss,
    wahsaga

    (*) für vollkomme nutzerfreundlichkeit würdest du das target natürlich auch noch weglassen, und die entscheidung ob neues fenster oder nicht mir als nutzer überlassen ;-)

  3. Hallo,

    Ich habe ja schon einiges an PopUps ausprobiert, die angeblich sich den Bildern (in der Größe) anpassen, die darin enthalten sind.

    Einigermassen "sicher" ist es, das Fenster in beiden Dimensionen
    je 25 Pixel groesser zu machen als das Bild.

    Ich verwende gelegentlich diese Funktion:

    function bildfenster(bildurl,dimx,dimy)
    {
     if (window.bildpopup && !window.bildpopup.closed)
        { bildpopup.close(); }
     var fensterx=dimx+25; /* Wegen Mozilla. Sonst reichen 15px. */
     var fenstery=dimy+25;
     bildpopup = window.open(bildurl,'bildfensterlein','locationbar=no,scrollbars=no,resizable=yes,width='+fensterx+',height='+fenstery);
     bildpopup.focus();
    }

    Den Link fuer ein 500x300 Pixel grosses Bild schreibe ich dann so:

    <a href="bild500x300.gif" onClick="bildfenster(this.href,500,300); return false;">Vergroesserung</a>

    Ich uebergebe der Funktion also direkt die Dimensionen des Bildes.
    Dass meine Dateinamen immer nach dem Schema aufgebaut sind, dass
    sie auch die Dimensionen enthalten, macht die Sache nochmal einfacher...

    Lies auch mal:
    http://home.t-online.de/home/dj5nu/js-popup.html
    http://selfhtml.teamone.de/javascript/objekte/window.htm#open

    Gruesse,

    Thomas