mo007: Wenn Bild nicht vorhanden, lade alternative!?

Hallo zusammen!

ICh suche eine Möglichkeit ein alternatives bild (in dem Fall default.jpg) zu laden, falls das angegebene (absoluter pfad) nicht vorhanden ist.

Ich habe zahlreiche methoden mit dem befehl "onError" gefunden. Jedoch kann ich das nicht nutzen da der Befehl auf der Seite gesperrt ist (ebay).

Hat jemand eine andere Idee, wie ich das umschreiben kann?

Vielen DAnk im voraus und viele Grüße,

Mo

  1. Moin!

    ICh suche eine Möglichkeit ein alternatives bild (in dem Fall default.jpg) zu laden, falls das angegebene (absoluter pfad) nicht vorhanden ist.

    Ich habe zahlreiche methoden mit dem befehl "onError" gefunden. Jedoch kann ich das nicht nutzen da der Befehl auf der Seite gesperrt ist (ebay).

    Hat jemand eine andere Idee, wie ich das umschreiben kann?

    Das kannst du mit den Mitteln von HTML nicht.

    Ein eingebundenes Bild muß unter seiner URL vom Server ausgeliefert werden. HTML kennt keine "Wenn die URL einen Fehler zurückgibt, mach was anderes"-Mechanik.

    Du kannst, sofern dir diese Möglichkeit erlaubt ist, auf dem Server diese Abfrage machen: Wenn die Bilddatei nicht existiert, liefere stattdessen eine Standarddatei. mod_rewrite kann sowas.

    Eine nicht ganz dumme Idee wäre es aber, einfach dafür zu sorgen, dass alle Bilder existieren.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Yerf!

      HTML kennt keine "Wenn die URL einen Fehler zurückgibt, mach was anderes"-Mechanik.

      http://de.selfhtml.org/html/multimedia/objekte.htm#datendateien@title=Sicher?

      Wie gut das in diversen Browsern funktioniert ist natürlich eine andere Sache... (diejenigen die Acid2 schaffen sollten das aber können)

      Gruß,

      Harlequin

      --
      <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
      1. Moin!

        HTML kennt keine "Wenn die URL einen Fehler zurückgibt, mach was anderes"-Mechanik.

        http://de.selfhtml.org/html/multimedia/objekte.htm#datendateien@title=Sicher?

        Spielst du darauf an, dass sich innerhalb des HTML-Elements <object> Inhalt befinden darf, der bei Nichtanzeigbarkeit des Objekts gezeigt wird?

        Das scheitert. Erstens darf <img> keinen Inhalt haben, zweitens ist die Bildeinbindung über <object> auch sehr fragil, drittens ist die Frage zu klären, wann denn der Alternativinhalt angezeigt wird: Wenn der Browser das Objekt grundsätzlich nicht anzeigen kann (so wie framesunfähige Browser <noframes> anzeigen), oder wenn das eingebundene Objekt nicht verfügbar ist?

        Ich würde die zweite Variante eher ausschließen.

        Wie gut das in diversen Browsern funktioniert ist natürlich eine andere Sache... (diejenigen die Acid2 schaffen sollten das aber können)

        Wir reden von einer eBay-Seite - das bedeutet ganz viel IE6.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
        1. Yerf!

          Spielst du darauf an, dass sich innerhalb des HTML-Elements <object> Inhalt befinden darf, der bei Nichtanzeigbarkeit des Objekts gezeigt wird?

          Ja.

          Das scheitert. Erstens darf <img> keinen Inhalt haben, zweitens ist die Bildeinbindung über <object> auch sehr fragil,

          Das <object> für Bilder leider noch nicht voll unterstützt wird hab ich ja schon angedeutet.

          drittens ist die Frage zu klären, wann denn der Alternativinhalt angezeigt wird: Wenn der Browser das Objekt grundsätzlich nicht anzeigen kann (so wie framesunfähige Browser <noframes> anzeigen), oder wenn das eingebundene Objekt nicht verfügbar ist?

          Ich würde die zweite Variante eher ausschließen.

          Der Acid2-Test benutzt <objets> die nicht geladen werden können (HTTP 404) um genau dieses Verhalten zu provozieren (siehe Diskussion um den IE8 und warum er nur auf der Originalseite den Test schafft).

          Wir reden von einer eBay-Seite - das bedeutet ganz viel IE6.

          Der IE6 gehört sich eh verboten... meine Meinung. Schade nur, dass das W3C nicht so viel Möglichkeiten hat wie damals Sun bei Java.

          Gruß,

          Harlequin

          --
          <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
          1. Ich hab die möglichkeit mit mod_rewrite genommen!

            Wir haben unsere bilder auf einem Webserver extern von ebay. Jetzt hab ich da einfach den mod_rewrite gemacht mit umleitung auf das default bild. Funktioniert einwandfrei! :)

            Danke für den Tip Sven

    2. Hi,

      Du kannst, sofern dir diese Möglichkeit erlaubt ist, auf dem Server diese Abfrage machen: Wenn die Bilddatei nicht existiert, liefere stattdessen eine Standarddatei. mod_rewrite kann sowas.

      ErrorDocument auch. (Ggf. in Kombination mit <Files[Match]>.)

      MfG ChrisB

  2. Hi Sven,

    danke für die Antwort. Die möglichkeit mit mod_rewrite hört sich gut an. Hast du mir einen tip wie die .htaccess aussehen müsste ?

    Viele Grüße und danke nochmal!!