要判断某个URL的网络图片是否存在,我们可以使用下面的两种方法。
一、通用的方法
创建一个Image()对象后为这个对象添加一个onload事件的处理方法和一个onerror事件的处理方法,然后通过定义这个Image对象的src属性来确定要加载的图像。
当远程图片成功加载到本机内存中后,则触发onload事件,如果找不到图片,或者加载失败,则触发onerror事件,代码如下:
// 定义一个Image对象
var img = new Image();
// 为Image对象添加图片加载成功的处理方法
img.onload = function() {
alert("图像加载成功");
};
// 为Image对象添加图片加载失败的处理方法
img.onerror = function() {
alert("图像加载失败");
}
// 开始加载图片
img.src = "http://www.dzwebs.net/logo/logo.gif";
注意:这种方法的好处是:在同域名或不同域名下,都可以正常使用。
二、AJAX方法
var imgurl = "http://www.dzwebs.net/logo/logo.gif";
if (imgurl != '') {
$.ajax(imgurl, {
type: 'get',
timeout: 1000,
success: function() {
alert("图片存在");
},
error: function() {
alert("图片不存在");
}
});
}
注意,使用这种方法的缺点是:只能在同一域名下使用,跨域名不能正常使用。