javascript检查img src是否有效?

kia*_*cto 12 javascript image src

我有类似的东西:

document.getElementById('MyPicture').src = 'attempted.png';
Run Code Online (Sandbox Code Playgroud)

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

document.getElementById('MyPicture').src = 'error.png'
Run Code Online (Sandbox Code Playgroud)

我知道我可以在image标签中放置onError = function(),但是如何将Id传递给onError,这样我就可以有一个onError函数可以改变任何坏图片的src?

CMS*_*CMS 15

是的,您可以使用该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';
Run Code Online (Sandbox Code Playgroud)

点击这里查看示例.


kia*_*cto 5

将其放入图像标签中:

onError="image_error(this.id)"
Run Code Online (Sandbox Code Playgroud)

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


Rau*_*ait 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';
}
Run Code Online (Sandbox Code Playgroud)