簡體   English   中英

預加載圖像時出現iPad / iPhone錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM