我在预加载图像时遇到了一些问题,并在加载图像时设置了一些东西。我使用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");
}
答案 0 :(得分:1)
如果您使用的是.manifest
文件,则需要将图片的网址放入其中。
答案 1 :(得分:1)
你好回答我自己的问题:
我发现iPad对下载的图像数量有限制,而且由于我的图像非常大(尺寸明智),因此根本不下载它们。这些图像实际上是小型胶片,高度超过14000像素,宽度约为600像素。因此,当加载它们然后跳过下载时,iPad会抛出错误。 我试图让图像更方正,因此图像不是那么高,但仍然会出错。解决方案是将图像分割成更小的块,因为我发现iPad允许尺寸大约为600x6000像素的图像。因此,我将胶片分成尺寸约为600x4500像素的较小图像,效果非常好。
总而言之:如果iPad拒绝下载图像,那么它可能是大字体,无论是字节还是尺寸方面。