1

我的问题是,如何测试背景图像是否已正确加载?

本质上我有一些 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 似乎认为意味着目标已加载。

4

0 回答 0