答案 0 :(得分:34)
答案 1 :(得分:21)
尝试:
function urlExists(testUrl) {
var http = jQuery.ajax({
type:"HEAD",
url: testUrl,
async: false
})
return http.status;
// this will return 200 on success, and 0 or negative value on error
}
然后使用
if(urlExists('urlToImgOrAnything') == 200) {
// success
}
else {
// error
}
答案 2 :(得分:6)
我知道的旧帖子,但我认为可以改进。我注意到OP存在间歇性问题,这可能是由于图像加载和错误检查造成的。最好先让图像加载,然后检查错误:
$(".myimage").attr("src", imagePath).error(function() {
// do something
});
答案 3 :(得分:4)
答案 4 :(得分:2)
这个问题已经有几年了,但对于任何看这个问题的人来说,这里的错误处理程序都是一个更好的示例。
$("img")
.error(function(){
$(this).hide();
})
.attr("src", "image.png");
在尝试加载图像以捕获事件之前,需要附加错误处理程序。
答案 5 :(得分:0)
这就是我的所作所为:
$.get( 'url/image', function(res){
//Sometimes has a redirect to not found url
//Or just detect first the content result and get the a keyword for 'indexof'
if ( res.indexOf( 'DOCTYPE' ) !== -1 ) {
//not exists
} else {
//exists
}
});