Starałem się pomóc sobie sam ale już tyle razy walnąłem w ścianę że nie wiem co mam zrobić
Chcę zrobić preloader plików zanim załaduje się strona.
Warunki:
ie10+, chrome 30+, ff 25+. jak najwięcej w tym mobilne
Błędy:
Przeglądarka się zawiesza jedyne co można zrobić to ją zamkną lub odświeżyć stronę.
preloadFilesPages(FilesPage["page2"] - jest to lista zwykle 140 plików img(98%),sound,video
Kod
$.when(function () { preloadFilesPages(FilesPage["page2"]); }).done(function () {
$(PAGE_HOLDER).load("page2.html");
});
preloadFilesPages: function (who) {
$("#progressbar").show();
var pr = 0;
$.each(who, function (i, u) {
try {
$.ajax({
url: u,
timeout: 3000 //3 second timeout
}).done(function (textStatus, jqXHR) {
var wyl = ucl.decimal((i / (who.length - 1)) * 100, 0);
if (wyl > pr);
{
pr = wyl;
$("#progressbar").progressbar("value", wyl);
}
}).fail(function (jqXHR, textStatus) {
if (textStatus === 'timeout') {
console.error("czas przektoczony");
//do something. Try again perhaps?
}
});
} catch (e) { console.error("blad"); }
});
$("#progressbar").hide();
}
$(PAGE_HOLDER).load("page2.html");
});
preloadFilesPages: function (who) {
$("#progressbar").show();
var pr = 0;
$.each(who, function (i, u) {
try {
$.ajax({
url: u,
timeout: 3000 //3 second timeout
}).done(function (textStatus, jqXHR) {
var wyl = ucl.decimal((i / (who.length - 1)) * 100, 0);
if (wyl > pr);
{
pr = wyl;
$("#progressbar").progressbar("value", wyl);
}
}).fail(function (jqXHR, textStatus) {
if (textStatus === 'timeout') {
console.error("czas przektoczony");
//do something. Try again perhaps?
}
});
} catch (e) { console.error("blad"); }
});
$("#progressbar").hide();
}
Proszę o Podpowiedź lub pomoc.