有关于使用上的图像.error(),以确定是否存在,他们并添加占位符,如果他们不上堆了几个解决方案,但他们都讨论其使用严格依据<img>
标签。有没有人进行图像这种类型的验证未添加到<img>
标签,而是作为div的背景?检查是否将其添加为背景图像之前的图像存在
我们有一组从第三方API进来的图像,并存在以下情况:整个组返回不存在图像的URL的。验证一组图像(注定是背景图像)以确定它们是否存在,然后在验证失败时应用适当的占位符,会有什么合适的方法?
有关于使用上的图像.error(),以确定是否存在,他们并添加占位符,如果他们不上堆了几个解决方案,但他们都讨论其使用严格依据<img>
标签。有没有人进行图像这种类型的验证未添加到<img>
标签,而是作为div的背景?检查是否将其添加为背景图像之前的图像存在
我们有一组从第三方API进来的图像,并存在以下情况:整个组返回不存在图像的URL的。验证一组图像(注定是背景图像)以确定它们是否存在,然后在验证失败时应用适当的占位符,会有什么合适的方法?
有几个方法可以做到这一点:
使用Ajax:
$.ajax({
url: "image.jpg",
type: "HEAD",
error: function() { alert("no image"); }
});
使用JavaScript图像对象:
var image = new Image();
image.src = "image.jpg";
if (image.width == 0) {
alert("no image");
}
使用jQuery:$("<img src='[path]'>").load(function(){ [image exists!] });
对于具有每个元素的background-image
。
我们已经实现的解决方案是创建一个中介服务器端脚本,用于检查第三方API是否存在给定图像 - 如果是,则提供图像(如果没有)提供占位符。通过这种方式,图像总是被提供+增加了图像缓存/调整大小的附加功能。
另一种解决方案是,如果图像存在实际上不检查 - 你可以提供图像占位符使用CSS,如果你通过JavaScript添加背景图片的话,如果它存在,它会覆盖现有的规则。
您提供的JS解决方案是完美的。我不能相信我没想到的新的图像()obj的。我把你上面的东西添加到一个函数中。如果有人想引用上面的解决方案,我已经使用上面的方法创建了一个小提琴:http://jsfiddle.net/xHa7r/。感谢您及时的回复! – spez86
多么愉快! –
不客气=) – lolol