Gregor: Bilder anzeigen

Hallo,
ich möchte auf der Internetseite unseres Orchesters http://www.jo-baden-baden.de die Fotos, auf die man zum vergrößern (Originalansicht) klickt in einem neuen Fenster anzeigen. Dieses soll aber nur so groß sein wie das Foto auch - nicht den ganzen Bildschirm zudecken.
Kann mir jemand dabei helfen?
Danke im voraus,
Gregor

  1. Hallo Gregor,

    das müsstest Du schon mit JavaScript machen.

    Du kannst Dir die Höhe und Breite des Bildes mit JS auslesen und dann das window.open mit dieser ausgelesenen Höhe und Breite erzeugen. Guck mal hier: [http://de.selfhtml.org/javascript/objekte/images.htm#height]

    Julia

  2. Hallo Gregor,

    Du kannst das ganze mit hilfe von popups realisieren
    http://de.selfhtml.org/javascript/objekte/window.htm#allgemeines

    <beispiel>

    <a href='#' onClick="window.open('img_big.jpg','img-name','width=100,height=100,
    toolbar=no, status=no, menubar=no, scrollbars=no,resizable=no')">
      <img src="img_small.jpg>
    </a>

    oder

    <a href="javascript:window.open('img_big.jpg','img-name','width=100,height=100,
    toolbar=no, status=no, menubar=no, scrollbars=no,resizable=no')">
      <img src="img_small.jpg>
    </a>

    </beispiel>

    Gruß mich

    1. Danke mich,
      aber wenn der jenige einen PopUp-Blocker installiert hat?

      1. Gregor,

        aber wenn der jenige einen PopUp-Blocker installiert hat?

        Willst du nun ein Popup, selbst wenn’s kaum einer sehen wird, oder willst du das Bild doch ganz normal im Browserfenster darstellen lassen?

        Gunnar

        --
        „Solang wir noch tanzen können
        und richtig echte Tränen flennen,
        ist noch alles offen,
        ist noch alles drin.“
        (Gundermann)
      2. aber wenn der jenige einen PopUp-Blocker installiert hat?

        ... dann fügst Du einfach noch mal ein target="_blank" ein:

        <a href='#' target="_blank" onClick="window.open('img_big.jpg','img-name','width=100,height=100,
        toolbar=no, status=no, menubar=no, scrollbars=no,resizable=no')">
          <img src="img_small.jpg>
        </a>

        Dann öffnet sich zwar ein neues Fenster, was nicht wirklich in der Größe des Bildes ist, aber zumindest ist die Funktionalität da.

        Jaydee

        1. hi,

          aber wenn der jenige einen PopUp-Blocker installiert hat?

          ... dann fügst Du einfach noch mal ein target="_blank" ein:

          <a href='#' target="_blank" onClick="window.open('img_big.jpg','img-name','width=100,height=100,
          toolbar=no, status=no, menubar=no, scrollbars=no,resizable=no')">
            <img src="img_small.jpg>
          </a>

          Dann öffnet sich zwar ein neues Fenster, was nicht wirklich in der Größe des Bildes ist, aber zumindest ist die Funktionalität da.

          welche? - die funktionalität, "#" in einem neuen fenster zu öffnen ...?

          gruß,
          wahsaga

          --
          "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
          1. welche? - die funktionalität, "#" in einem neuen fenster zu öffnen

            Uuups, nein, natürlich die Referenz auf das Bild: <a href="bild.jpg">

            Jaydee

      3. aber wenn der jenige einen PopUp-Blocker installiert hat?

        Als alternative könntest du Bild in einem Fenster öffnen und danach die Größe mit Javascript anpassen. Würde ich aber nicht empfehlen.

        http://de.selfhtml.org/html/verweise/definieren.htm
        http://de.selfhtml.org/javascript/objekte/window.htm#resize_to

        Gruß mich

      4. Danke mich,
        aber wenn der jenige einen PopUp-Blocker installiert hat?

        dann empfiehlt sind den javascript-Befehl mit "return false" ein klein wenig zu erweitern:

        <a href="bild.jpg" onClick="window.open('img_big.jpg','img-name','width=100,height=100,
        toolbar=no, status=no, menubar=no, scrollbars=no,resizable=no'); return false"><img src="Pfad zum Thumbnail" width="100" height="75" alt="" border="0"></a>

        Wenn kein JS aktiviert ist geht das in einem normalen Brwoserfenster auf.

        1. maz,

          Wenn kein JS aktiviert ist geht das in einem normalen Brwoserfenster auf.

          Und wenn JS aktiviert ist und ein Popup-Blocker?
          Gunnar

          --
          „Solang wir noch tanzen können
          und richtig echte Tränen flennen,
          ist noch alles offen,
          ist noch alles drin.“
          (Gundermann)
          1. Hallo Gunnar,

            Wenn kein JS aktiviert ist geht das in einem normalen Brwoserfenster auf.

            Und wenn JS aktiviert ist und ein Popup-Blocker?

            Dann stimmt die oben zitierte Aussage von maz immer noch: "in einem normalen Browserfenster". Er hat schließlich nicht einmal ein target-Attribut vorgesehen, das Bild ersetzt also das Dokument im aktuellen Fenster.

            BTW, die meisten Popup-Blocker können "angeforderte" Popups von "nicht angeforderten" unterscheiden und lassen daher ein Popup zu, das durch Klick auf einen Link aufgeht.

            Ciao,

            Martin

            1. hi,

              Und wenn JS aktiviert ist und ein Popup-Blocker?

              Dann stimmt die oben zitierte Aussage von maz immer noch: "in einem normalen Browserfenster".

              nein, das kannst du gar nicht wissen, weil du nicht weißt, _wie_ der popup-blocker arbeitet.

              er könnte lediglich die funktion window.open() überschreiben, oder aus dem quelltext herausfiltern (letzteres eher bei proxies/webwasher o.ä.), und das return:false noch im onClick drin lassen - ergo: kein popup, link-ausführung trotzdem unterbunden.

              aber auch hier kann man sich ein wenig mehr sicherheit verschaffen, in dem man stattdessen die rückgabe von window.open() zurückgibt:

              onClick="return window.open(...);"

              gruß,
              wahsaga

              --
              "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
              1. Hallo,

                Dann stimmt die oben zitierte Aussage von maz immer noch: "in einem normalen Browserfenster".

                nein, das kannst du gar nicht wissen, weil du nicht weißt, _wie_ der popup-blocker arbeitet.

                Ähm, Moment mal: Wenn ich ein (sinnvolles!) href-Attribut als Fallback anbiete, kann mir der onclick-Handler eigentlich egal sein. Dann kann ich immer stattdessen den Link als normalen Link öffnen (Kontextmenü, Link öffnen).

                er könnte lediglich die funktion window.open() überschreiben, oder aus dem quelltext herausfiltern ...

                Ja, sowas gibt's. Meiner tut das zum Beispiel so.

                ergo: kein popup, link-ausführung trotzdem unterbunden.

                Wie gesagt: Link-Ausführung per Kontextmenü geht auf jeden Fall trotzdem.

                aber auch hier kann man sich ein wenig mehr sicherheit verschaffen, in dem man stattdessen die rückgabe von window.open() zurückgibt:

                Das ist natürlich ungeachtet aller Eventualitäten eine gute Praxis.
                Schönes Wochenende,

                Martin

                1. hi,

                  Ähm, Moment mal: Wenn ich ein (sinnvolles!) href-Attribut als Fallback anbiete, kann mir der onclick-Handler eigentlich egal sein. Dann kann ich immer stattdessen den Link als normalen Link öffnen (Kontextmenü, Link öffnen). [...]
                  Wie gesagt: Link-Ausführung per Kontextmenü geht auf jeden Fall trotzdem.

                  natürlich - und selbst wenn das nicht gegeben wäre, quelltext durchsuchen, bildnamen aus dem javascript heraussuchen, URL selber zusammenbasteln und aufrufen ginge ja auch immer noch ... hat aber mit komfort für den user nicht mehr viel zu tun, und nur über das kontextmenü "bedienbare" links auch nicht mehr.

                  gruß,
                  wahsaga

                  --
                  "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                  1. natürlich - und selbst wenn das nicht gegeben wäre, quelltext durchsuchen, bildnamen aus dem javascript heraussuchen, URL selber zusammenbasteln und aufrufen ginge ja auch immer noch ...

                    Klingt sarkastisch (und ist wohl auch so gemeint), aber genau das habe ich schon oft machen "müssen". Selbst auf sogenannten professionellen... nein, sagen wir besser: kommerziellen Seiten. Denn leider sind auch da oft Webdesigner am Werk, bei denen ohne JS nix geht. Dabei rufen sie auch bloß ein Bild oder eine neue HTML-Datei auf, wäre doch so einfach mit einem gewöhnlichen Link...

                    hat aber mit komfort für den user nicht mehr viel zu tun, und nur über das kontextmenü "bedienbare" links auch nicht mehr.

                    Nein, das mit dem Kontextmenü ist eine Notlösung. Und ich habe sie ja auch nur für den von dir skizzierten -wahrscheinlich seltenen- Sonderfall konstruiert: JS aktiviert, onclick-Handler im Link und ein Popup-Blocker, der einfach window.open() aus dem Quältext ausfiltert.
                    Also nimm es mir bitte nicht übel, wenn ich mich aus hinterhältigen Fallen rauswinde und sage: "Und es geht doch".  ;-)

                    Gruß & schönes Wochenende,

                    Martin