我的问题是,如何测试背景图像是否已正确加载?
本质上我有一些 div,
<div id="photo" style="background-image:url('someURL')">
有些得到拒绝访问错误,或者不存在,我需要知道什么时候可以避免没有背景图像。
我知道它们是否是我可以使用的图像,$("#image").error(function(){});
但令人沮丧的是我不能在这里使用,并且调用css.("background-image")
不会产生错误,我认为它可能会产生错误,它只是返回完全无用的 url。
我的另一个想法是使用 URL 生成一个隐藏的图像元素,并测试它是否正确加载,但我将处理很多图像,我宁愿有一个更优雅的解决方案。
如果有人知道我如何测试背景图像或图像 URL 返回图像,我会很高兴。
更新
我尝试使用以下形式的图像预加载器;
$.each($(".photo"), function(){
var theURL = $(this).css('background-image'),
theURL = theURL.replace('url(',''),
theURL = theURL.replace(')',''),
testImage = new Image(theURL);
但是新的测试图像没有错误方法,而且无论是不是scr的问题,显然都是0宽度,所以我又被难住了。
我也尝试使用ajax 查询,但这种情况的一个特点是我正在设计一个 tumblr 主题,并且断开的链接返回自动生成的错误页面,ajax 似乎认为意味着目标已加载。