简体   繁体   English

检测无法使用javascript加载图像

[英]Detect failed to load image with javascript

Is it possible to detect when an image doesn't load with JavaScript? 是否可以检测图像何时无法加载JavaScript? I plan on using base64 for images, but browsers such as IE 6 and 7 doesn't support it. 我计划在图像上使用base64,但IE 6和7等浏览器不支持它。 So instead of displaying a red x, I'd like to detect such an error, then display a non base64 image. 因此,我不想显示红色x,而是想检测到这样的错误,然后显示非base64图像。 Below is an example of my intentions: 以下是我的意图的一个例子:

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';\" />");

Image has an onerror event and the onerror event is triggered if an error occurs when loading an image. Image有一个onerror事件,如果加载图像时发生错误,则会触发onerror事件。

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

This is only an example of onerror event. 这只是onerror事件的一个例子。 You may use it in your way. 你可以按自己的方式使用它。

You can set a couple error handlers on the object: 您可以在对象上设置几个错误处理程序:

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM