画像のプリロードと、ロード時の設定に少し問題があります。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");
}