2012-03-25 21 views
4

Ist es möglich zu erkennen, wenn ein Bild nicht mit JavaScript geladen wird? Ich plane, base64 für Bilder zu verwenden, aber Browser wie IE 6 und 7 unterstützen es nicht. Anstatt also ein rotes x anzuzeigen, möchte ich einen solchen Fehler erkennen und dann ein non base64-Bild anzeigen. Unten ist ein Beispiel meiner Absichten:Erkennung konnte nicht geladen werden mit JavaScript

PHP 
$base64Img = base64 String; 
print("<img src=\"data:image/jpeg; base64, ".$base64Img."\" />"); 


JavaScript IE 6 
catch img load error{ 
    errorImg.src = "ieSafeImg.jpg"; 
} 

Antwort

4

Verwenden Sie einen Ereignishandler für das Fehlerereignis, z.

0

Image hat ein onerror-Ereignis und das onerror-Ereignis wird ausgelöst, wenn beim Laden eines Images ein Fehler auftritt.

<img src="image.gif" onerror="alert('The image could not be loaded.')" /> 

Dies ist nur ein Beispiel für ein Onerror-Ereignis. Sie können es auf Ihre Weise verwenden.

0

Sie können ein paar Fehler-Handler auf das Objekt festgelegt:

<img onerror="handleIEError()" onabort="handleIEError()" src=\"data:image/jpeg; base64, ".$base64Img."\" /> 

function handleIEError() { 
    this.src = "ieSafeImg.jpg"; 
} 
Verwandte Themen