[英]iPad/iPhone error on preloading image
我在預加載圖像時遇到了一些問題,並在加載圖像時設置了一些東西。 我使用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");
}
如果您使用的是.manifest
文件,則需要將圖像的URL添加到其中。
嗨,只是回答我自己的問題:
我發現iPad的下載圖像數量有限,而且由於我的圖像非常大(尺寸明智),它根本就沒有下載它們。 這些圖像實際上是小型膠片,高度超過14000像素,寬度約為600像素。 因此,當加載它們然后跳過下載時,iPad會拋出錯誤。 我試圖讓圖像更方正,因此圖像不是那么高,但仍然會出錯。 解決方案是將圖像分割成更小的塊,因為我發現iPad允許尺寸大約為600x6000像素的圖像。 因此,我將膠片分成尺寸約為600x4500像素的較小圖像,效果非常好。
總而言之:如果iPad拒絕下載圖像,它可能是大字體,無論是字節還是尺寸方面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.