|
|
Модератор форума: Yuri_G |
Сообщество uCoz » Вебмастеру » Общие вопросы от вебмастеров » Как узнать какая картинка не загрузилась? |
Как узнать какая картинка не загрузилась? |
Привет
Вопрос такой - у меня был установлен всегда лоадер на все странички (считал проценты загрузки и показывал картинку в это время) Со вчера он перестал работать и подвисает на 0% Порылся в доках на этот лоадер - написано что это происходит скорее всего из того что какая то картинка не загрузилась во время подьема странички - он проверяет только загрузку картинок - другие файлы его не интересуют судя по всему. Посмотрел в браузере F12 - Сеть - нет ничего что не загружено Происходит проблема на всех страничках сайта (около 70 HTML).. Часть из них редактировалась позавчера - но большая часть нет.. Как узнать какая картинка не загрузилась? P.S. у меня нет линков на картинки на чужих сайтах- все залито ко мне на домэн и оттуда грузится нет никаких соц кнопок с подгрузками - сделано через обычные линки. |
Подключите на время:
Код <script type="text/javascript"> $(document).ready(function(){ $(window).bind('load', function() { $('.onlymessage img').each(function() { if((typeof this.naturalWidth != "undefined" && this.naturalWidth == 0 ) || this.readyState == 'uninitialized' ) { $(this).attr('src', '/image_unavailable.jpg'); } }); }); });</script> image_unavailable.jpg - свою картинку укажите для ненайденных\недоступных. |
Dogica, вместо недоступных изображений будет выводиться image_unavailable.jpg
Добавлено (17 Апр 2015, 19:54:25) |
ынтиресно конечно - но фиг там - все на месте! я поставил большую и заметную картинку
ну хорошо.. может быть вы наметанным взглядом покажете что убрать из скрипта чтобы он не проверял загрузку картинок вот он: Код var QueryLoader = { overlay: "", loadBar: "", preloader: "", items: new Array, doneStatus: 0, doneNow: 0, selectorPreload: "body", ieLoadFixTime: 2e3, ieTimeout: "", init: function() { if (navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/) == "MSIE 6.0,6.0") { return false } if (QueryLoader.selectorPreload == "body") { QueryLoader.spawnLoader(); QueryLoader.getImages(QueryLoader.selectorPreload); QueryLoader.createPreloading() } else { $(document).ready(function() { QueryLoader.spawnLoader(); QueryLoader.getImages(QueryLoader.selectorPreload); QueryLoader.createPreloading() };) } QueryLoader.ieTimeout = setTimeout("QueryLoader.ieLoadFix()", QueryLoader.ieLoadFixTime) }, ieLoadFix: function() { var e = navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/); if (e[0].match("MSIE")) { while (100 / QueryLoader.doneStatus * QueryLoader.doneNow < 100) { QueryLoader.imgCallback() } } }, imgCallback: function() { QueryLoader.doneNow++; QueryLoader.animateLoader() }, getImages: function(e) { var t = $(e).find("*:not(script)").each(function() { var e = ""; if (typeof $(this).attr("src") != "undefined" && $(this).attr("tagName").toLowerCase() == "img") { var e = $(this).attr("src") }; e = e.replace('url("', ""); e = e.replace("url(", ""); e = e.replace('")', ""); e = e.replace(")", ""); if (e.length > 0) { QueryLoader.items.push(e) } };) }, createPreloading: function() { QueryLoader.preloader = $("<div></div>").appendTo(QueryLoader.selectorPreload); $(QueryLoader.preloader).css({ height: "0px", width: "0px", overflow: "hidden" };); var e = QueryLoader.items.length; QueryLoader.doneStatus = e; for (var t = 0; t < e; t++) { var n = $("<img></img>"); $(n).attr("src", QueryLoader.items[t]); $(n).unbind("load"); $(n).bind("load", function() { QueryLoader.imgCallback() };); $(n).appendTo($(QueryLoader.preloader)) } }, spawnLoader: function() { if (QueryLoader.selectorPreload == "body") { var e = $(window).height(); var t = $(window).width(); var n = "fixed" } else { var e = $(QueryLoader.selectorPreload).outerHeight(); var t = $(QueryLoader.selectorPreload).outerWidth(); var n = "absolute" } var r = $(QueryLoader.selectorPreload).offset()["left"]; var i = $(QueryLoader.selectorPreload).offset()["top"]; QueryLoader.overlay = $("<div></div>").appendTo($(QueryLoader.selectorPreload)); $(QueryLoader.overlay).addClass("QOverlay"); $(QueryLoader.overlay).css({ position: n, top: i, left: r, width: t + "px", height: e + "px" };); QueryLoader.loadBar = $("<div></div>").appendTo($(QueryLoader.overlay)); $(QueryLoader.loadBar).addClass("QLoader"); $(QueryLoader.loadBar).css({ position: "relative", top: "50%", width: "0%" };); QueryLoader.loadAmt = $("<div>0%</div>").appendTo($(QueryLoader.overlay)); $(QueryLoader.loadAmt).addClass("QAmt"); $(QueryLoader.loadAmt).css({ position: "relative", top: "50%", left: "50%" };) }, animateLoader: function() { var e = 100 / QueryLoader.doneStatus * QueryLoader.doneNow; if (e > 99) { $(QueryLoader.loadAmt).html("100%"); $(QueryLoader.loadBar).stop().animate({ width: e + "%" }, 500, "linear", function() { QueryLoader.doneLoad() };) } else { $(QueryLoader.loadBar).stop().animate({ width: e + "%" }, 500, "linear", function() {};); $(QueryLoader.loadAmt).html(Math.floor(e) + "%") } }, doneLoad: function() { clearTimeout(QueryLoader.ieTimeout); if (QueryLoader.selectorPreload == "body") { var e = $(window).height() } else { var e = $(QueryLoader.selectorPreload).outerHeight() } $(QueryLoader.loadAmt).hide(); $(QueryLoader.loadBar).animate({ height: e + "px", top: 0 }, 500, "linear", function() { $(QueryLoader.overlay).fadeOut(800); $(QueryLoader.preloader).remove() };) } } QueryLoader.selectorPreload = "body"; QueryLoader.init(); Сообщение отредактировал Dogica - Пятница, 17 Апр 2015, 20:02:19
|
http://www.dogica.com/forum/здесь работает ваш лоадер .
выберите вкладку "консоль" |
| |||
| |||