Страница 1 из 11
Модератор форума: Yuri_G 
Сообщество uCoz » Вебмастеру » Общие вопросы от вебмастеров » Как узнать какая картинка не загрузилась?
Как узнать какая картинка не загрузилась?
Dogica
Сообщений: 1230
Репутация: 352
Уровень замечаний:

Сообщение # 1 | 19:05:29
Привет
Вопрос такой - у меня был установлен всегда лоадер на все странички (считал проценты загрузки и показывал картинку в это время)
Со вчера он перестал работать и подвисает на 0%
Порылся в доках на этот лоадер - написано что это происходит скорее всего из того что какая то картинка не загрузилась во время подьема странички - он проверяет только загрузку картинок - другие файлы его не интересуют судя по всему.
Посмотрел в браузере F12 - Сеть - нет ничего что не загружено

Происходит проблема на всех страничках сайта (около 70 HTML).. Часть из них редактировалась позавчера - но большая часть нет..
Как узнать какая картинка не загрузилась?

P.S. у меня нет линков на картинки на чужих сайтах- все залито ко мне на домэн и оттуда грузится
нет никаких соц кнопок с подгрузками - сделано через обычные линки.


WWW.DOGICA.COM / WWW.DOGICA.ORG
Drinko
Сообщений: 821
Репутация: 747

Сообщение # 2 | 19:35:26
Подключите на время:
Код
<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
Сообщений: 1230
Репутация: 352
Уровень замечаний:

Сообщение # 3 | 19:48:51
ок.. пробую


WWW.DOGICA.COM / WWW.DOGICA.ORG
Сообщение отредактировал Dogica - Пятница, 17 Апр 2015, 19:56:54
Drinko
Сообщений: 821
Репутация: 747

Сообщение # 4 | 19:54:25
Dogica, вместо недоступных изображений будет выводиться image_unavailable.jpg

Добавлено (17 Апр 2015, 19:54:25)
---------------------------------------------
ЗЫ
'.onlymessage img' - это class для элементов, где скрипт будет срабатывать. Можно просто body указать:

'body img'


Dogica
Сообщений: 1230
Репутация: 352
Уровень замечаний:

Сообщение # 5 | 20:01:58
ынтиресно конечно - но фиг там - все на месте! я поставил большую и заметную картинку
ну хорошо.. может быть вы наметанным взглядом покажете что убрать из скрипта чтобы он не проверял загрузку картинок
вот он:


Код
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();


WWW.DOGICA.COM / WWW.DOGICA.ORG
Сообщение отредактировал Dogica - Пятница, 17 Апр 2015, 20:02:19
killbit
Сообщений: 317
Репутация: 104

Сообщение # 6 | 21:03:17
http://www.dogica.com/forum/здесь работает ваш лоадер .

Цитата Dogica ()
Посмотрел в браузере F12 - Сеть - нет ничего что не загружено


выберите вкладку "консоль"
Dogica
Сообщений: 1230
Репутация: 352
Уровень замечаний:

Сообщение # 7 | 21:07:12
нет лоадер сейчас везде отключен - то что вы видите слева вверху это другой лоадер
проверяю консоль..


WWW.DOGICA.COM / WWW.DOGICA.ORG
Сообщество uCoz » Вебмастеру » Общие вопросы от вебмастеров » Как узнать какая картинка не загрузилась?
Страница 1 из 11
Поиск: