Fehler beim Laden eines Bildes? Keine Sorge! Unser Code bietet eine einfache Lösung für dieses Problem. Wenn ein Bild nicht geladen werden kann, ersetzen wir es durch ein Fallback-Bild, sodass Ihre Benutzer weiterhin eine visuelle Erfahrung haben.
Die Funktion im Detail
Die Funktion imageLoadError(img) übernimmt die Aufgabe, ein alternativ Bild zu laden, wenn das ursprüngliche Bild nicht verfügbar ist. Der Code definiert ein Standardbild, das angezeigt wird, falls der Bild-Load fehlschlägt. Hier ist, wie die Funktion funktioniert:
const fallbackImage = "/media/sites/cnn/cnn-fallback-image.jpg";
Durch diese Zeile legen wir das Fallback-Bild fest. Wenn das Bild mit dem ursprünglichen Quelllink nicht geladen werden kann, wird dieses Bild stattdessen angezeigt.
So funktioniert die Fehlerbehandlung
Die Funktion entfernt zunächst das onerror-Attribut vom Bild, um ein Endlosschleifen zu vermeiden. Anschließend setzt sie das Bild auf das Fallback-Bild:
img.removeAttribute('onerror');
img.src = fallbackImage;
Darüber hinaus wird auch sichergestellt, dass alle relevanten SOURCE-Elemente, die möglicherweise hinter dem Bild stehen, ebenfalls aktualisiert werden. Dies wird durch eine Schleife erreicht, die kompatible srcset-Attribute anpasst:
let element = img.previousElementSibling;
while (element && element.tagName === 'SOURCE') {
element.srcset = fallbackImage;
element = element.previousElementSibling;
}
Warum ist dies wichtig?
Ein reibungsloses Nutzererlebnis ist für jede Webseite von größter Bedeutung. Bildfehler können die Wahrnehmung Ihrer Seite negativ beeinflussen und zur Abwanderung von Besuchern führen. Indem Sie eine robuste Fehlerbehandlung implementieren, stellen Sie sicher, dass Ihre Benutzer immer die bestmögliche Erfahrung haben.
Fazit
Die Implementierung einer Fehlerbehandlungsroutine für Bilder ist ein einfacher, aber effektiver Schritt zur Optimierung Ihrer Webseite. Mit der hier beschriebenen Funktion können Sie sicherstellen, dass Ihre Bilder auch im Falle eines Fehlers korrekt dargestellt werden. Für weiterführende Fragen oder Hilfe stehen wir Ihnen jederzeit zur Verfügung!
Ronen Zvulun/Reuters