18

我有类似的东西:

document.getElementById('MyPicture').src = 'attempted.png';

如果客户无法获得该资源,我想将其替换为:

document.getElementById('MyPicture').src = 'error.png'

我知道我可以将 onError=function() 放在图像标签中,但是如何将 Id 传递给 onError,以便我可以拥有一个可以更改任何不良图片的 src 的 onError 函数?

4

3 回答 3

23

是的,您可以使用onerror事件,在图像元素上确实得到广泛支持,例如:

var image = document.getElementById('MyPicture');
image.onerror = function () {
  alert('error loading ' + this.src);
  this.src = 'error.png'; // place your error.png image instead
};

image.src = 'non-existing.jpg';

在此处查看示例。​</p>

于 2010-08-17T06:53:33.270 回答
4

把它放在图像标签中:

onError="image_error(this.id)"

它将图像的 id 传递给 image_error 函数.... duh

于 2010-08-17T06:55:36.737 回答
1

添加 onError 属性确实是处理它的正确方法。在您的情况下,您将添加如下内容:

var myPicture = document.getElementById('MyPicture');
myPicture.onError = errorHandler();

function errorHandler(msg,file_loc,line_num) {
  myPicture.src = 'http://www.google.com/intl/en_ALL/images/srpr/logo1w.png';
}
于 2010-08-17T06:53:00.470 回答