我在预加载图像时遇到了一些问题,并在加载图像时进行了设置。我使用 onLoad(或 jQuery $("img").load()-thingy) 事件来检测图像何时加载。这在大多数浏览器中都可以正常工作,当我在 iPad/iPhone 上尝试时除外。不知何故,它只是抛出了 onError 事件(它没有描述错误是什么!)。但是当我在我的 onError 事件中重定向到图像时,它显示得很好。非常奇怪,似乎无法弄清楚是什么原因造成的。
一些代码:
if( !limg ) {
var load = function($img) {
setTimeout(function() {
var src = $img.attr("src");
video.trigger(filmLoad, [s]);
if (((src.indexOf(url) >= 0 && urlIsString) || !urlIsString)
&& src.indexOf("_low.") >= 0)
{
$img.attr(
"src",
urlIsString
? url.replace("_low.", "_high.")
: set.film.url.high);
still = stillIsString
? still.replace("_low.", "_high.") : set.film.still.high;
}
}, 0);
};
limg = s.loaderimg = $("<img>")
.appendTo(video)
.css({opacity: 0, position: "absolute", left: "-200em"})
.load(function(e) { load($(this)); })
.error(function(e) { if(e.target.complete) { load($(this)); } })
.src("src/to/my/image.jpg");
}