Я получил этот сценарий предварительной загрузки jQuery, запущенный на странице index.html, загружающей около 10 Мб, прежде чем перенаправлять на другую страницу.jQuery pre -loader ie-6/7 issue
Он отлично работает в IE8/9 FF3 + и Chrome. Но, похоже, он не работает в IE6/7, он, кажется, запускается и запускается, но никогда не запускает последнюю часть.
Рабочий пример: -removed-
Любой знает, почему он застревает на 75/76 загруженных файлов в IE6/7?
<script src="js/jquery-1.7.1.min.js"></script>
<script>
(function($) {
var imgList = [];
$.extend({
preload: function(imgArr, option) {
var setting = $.extend({
init: function(loaded, total) {},
loaded: function(img, loaded, total) {},
loaded_all: function(loaded, total) {}
}, option);
var total = imgArr.length;
var loaded = 0;
setting.init(0, total);
for (i = 0; i < imgArr.length; i++) {
imgList.push($("<img />")
.load(function() {
loaded++;
setting.loaded(this, loaded, total);
if(loaded == total) {
setting.loaded_all(loaded, total);
}
})
.attr("src", imgArr[i])
);
}
}
});
})(jQuery);
$(function() {
$.preload([
"http://www.erikderuiter.nl/images/300x300-transparent.png",
"http://www.erikderuiter.nl/images/300x300.png",
"http://www.erikderuiter.nl/images/300x600.png",
"http://www.erikderuiter.nl/images/600x300.png",
"http://www.erikderuiter.nl/images/600x600.png",
"http://www.erikderuiter.nl/images/900x300.png",
], {
init: function(loaded, total) {
$("#indicator").html("Files: "+loaded+"/"+total);
},
loaded: function(img, loaded, total) {
$("#indicator").html("Files: "+loaded+"/"+total);
$("#full-screen").append(img);
},
loaded_all: function(loaded, total) {
$("#indicator").html("Loading: Done!");
window.location.replace("http://www.erikderuiter.nl/somepage.html");
}
});
});
</script>
<div id="indicator"></div>
Любые другие советы или рекомендации по предварительной загрузке изображений на странице также приветствуются, конечно.
У вас есть дополнительная запятая в вашем массиве, я предполагаю, что это опечатка, о которой идет речь, поскольку IE8 не справился бы с этим. –
Да, массив был намного длиннее. сократил его для этого примера. – Scriptor