我有一个页面上有很多图像。我的图像是从外部服务器加载的。通常这台服务器的加载速度太慢了,所以我的页面一直在加载,直到外部服务器再次开始运行。当外部服务器关闭时,我想从我的加载一个空白图像。
有什么方法可以做这样的事情吗?
if ($("img").load=false) {
$("img").src="cantload.png";
}
非常感谢,提前!
我有一个页面上有很多图像。我的图像是从外部服务器加载的。通常这台服务器的加载速度太慢了,所以我的页面一直在加载,直到外部服务器再次开始运行。当外部服务器关闭时,我想从我的加载一个空白图像。
有什么方法可以做这样的事情吗?
if ($("img").load=false) {
$("img").src="cantload.png";
}
非常感谢,提前!
如果您使用的是 jquery,并且这段代码发生在图像绑定之前。
$("img").error(function() {
alert("Could not load image");
});
如果没有,那么您可以执行以下操作,这将始终有效,但需要在每个图像上:
<img src="image.gif" onerror="alert('Could not load image.')">
如果你想在元素已经在 DOM 中之后激活这个功能,你可以使用类似这样的东西。
var defaultSource = 'cantload.png';
$('img').each(function() {
var originalSource = $(this).attr('src');
$(this)
.attr('src', defaultSource)
.error(function(){
$(this).attr('src', defaultSource );
})
.attr('src', originalSource);
});
上面的代码会绑定内部函数来处理图片的加载错误,然后让它们全部重新加载。已经重新加载的图片实际上不会再次重新加载,但有错误的图片将触发错误处理程序并更改source attribute
为cantload.png