2012-03-25 23 views
4

是否有可能检测到图像无法通过JavaScript加载?我打算为图像使用base64,但浏览器(如IE 6和7)不支持它。因此,我不想显示红色的x,而是想检测出这样的错误,然后显示一个非base64的图像。以下是我的意图示例:检测无法使用javascript加载图像

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


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

回答

4

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

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

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

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

这只是onerror事件的一个例子。你可以用你的方式使用它。

0

您可以在对象上设置了几个错误处理:

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

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