5 Stimmen

Wie kann man ein defektes Bild erkennen und durch ein anderes ersetzen?

Ich habe eine Seite, die eine Vielzahl von Bildern von verschiedenen Remote-Servern anzeigt. http://example.com/img/email\_star0.png' height='150' />

Angenommen, dieses Bild ist nicht vorhanden, dann erhalte ich ein (x) in meinem html. Kann ich irgendwie feststellen, dass dieses Bild nicht vorhanden ist, und dieses (x) durch ein lokales Bild ersetzen, ohne mit Curl (oder JQuery) zu prüfen, ob die Datei auf dem entfernten Server vorhanden ist, und dadurch Zeit sparen? Kann dies auch lokal geschehen?

Vielen Dank für Ihre Hilfe

23voto

Ninja Punkte 5027

Ja, dies ist mit dem Ereignis onerror möglich:

<img src="your_image_source" onerror="this.src='/path/to/local/file'">

Wenn das Bild nicht vorhanden ist, wird anstelle des X das Standardbild in Ihrem lokalen Ordner angezeigt

3voto

Konrad Dzwinel Punkte 35384

Ich glaube nicht, dass es möglich ist, zu prüfen, ob ein Bild auf einem entfernten Server existiert, ohne curl oder jQuery zu verwenden. Aber jQuery Schnipsel unten reagiert auf Bild laden Fehler durch Ersetzen es mit einem lokalen, vielleicht ist das, was Sie suchen.

$(document).ready(function(){
  $('img').error(function(){
     $(this).attr('src', 'http://mysite/myimage.jpg');
  });
});

3voto

Metafr Punkte 91

Sie können das Attribut "onerror" direkt im Bild-Tag verwenden:

<img src="my_images.jpg" onerror="this.src='my_replacement.jpg'">

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X