Detect无法用javascript加载图像


Detect failed to load image with javascript

是否可以检测图像何时不使用JavaScript加载?我计划对图像使用base64,但IE 6和7等浏览器不支持它。所以我不想显示红色x,而是想检测到这样的错误,然后显示非base64图像。以下是我的意图示例:

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

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

对错误事件使用事件处理程序,例如

print("<img src='"data:image/jpeg;base64," . $base64Img . "'" onerror='"this.src='ieSafeImg.jpg';'" />");

图像有一个oneror事件,如果加载图像时发生错误,则会触发oneror。

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

这只是oneror事件的一个例子。你可以按自己的方式使用它。

您可以在对象上设置两个错误处理程序:

<img onerror="handleIEError()" onabort="handleIEError()" src='"data:image/jpeg; base64, ".$base64Img."'" />
function handleIEError() {
    this.src = "ieSafeImg.jpg";
}