我有一个像这样的图像:img src =“”class ='listPartialLoader'alt ='loading' 我正在使用来自ajax调用的数据分配'src'值。有时如果找不到图像,我想添加一个默认的图像路径,如“Images / default.jpg”。但是如何使用javascript检查图像是否存在? (基本上我想要找不到图像添加默认图像)
答案 0 :(得分:2)
您应该可以检查图片是否与onerror
和onload
事件一起存在。
var myImg = new Image;
myImg.src = 'path/to/image';
myImg.onerror = function(){
console.log("Error!");
}
myImg.onload = function(){
console.log('Loaded!');
}
答案 1 :(得分:1)
如果图像位于脚本的同一个域中,则只需获取图像路径(在将其分配给图像元素之前)并对该路径发出简单的HEAD ajax请求(例如“images / default.jpg”)。如果服务器状态为304或200,图像存在
答案 2 :(得分:1)
在ajax调用服务器期间检索src属性的值时,为什么不检查文件是否存在?
string src = GetSrc(); //whatever you need to do
if(System.IO.File.Exists(HttpContext.Current.Server.MapPath(src)))
{
return src;
}
else
{
return "path/default.jpg");
}