Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.10.2008, 16:24
Интересующийся
Отправить личное сообщение для Aderba Посмотреть профиль Найти все сообщения от Aderba
 
Регистрация: 06.10.2008
Сообщений: 17

Как проверить загружены ли все картинки браузером
Подскажите пожалуйста мне нужно проверить загружены ли все картинки браузером с помощью javascript, желательно jQuery. Мне предлогали вариант ставить на событие onload у картинки флаг, если загрузилась, то флаг равен истине. мне такой вариант не подходит. Мне нужно просто определить все ли браузер загрузил?
Ответить с цитированием
  #2 (permalink)  
Старый 13.10.2008, 16:35
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Событие load окна документа срабатывает, когда все элементы страницы подгружены - DOM, картинки, фреймы и так далее. Может подойдет такой вариант:
$(window).bind('load', function() { /* ... */});
Ответить с цитированием
  #3 (permalink)  
Старый 13.10.2008, 16:41
Интересующийся
Отправить личное сообщение для Aderba Посмотреть профиль Найти все сообщения от Aderba
 
Регистрация: 06.10.2008
Сообщений: 17

так, ага, а если у меня с помощью аякса поевляеться плавающий див, и в нем вот эти самые картинки, то пойдет, что вы предложили?
Ответить с цитированием
  #4 (permalink)  
Старый 13.10.2008, 16:54
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Нет, тогда только событие load на всех элементах img внутри дива.
Ответить с цитированием
  #5 (permalink)  
Старый 24.04.2009, 16:38
Янв
 
Сообщений: n/a

Вариантов много. Очень много. Пример - первый вариант самый простой, но второй изящны
Вар. 1.

var initContent = function () {
...
}

window.onload = initContent;

Вар. 2.

var ie = (navigator.appName == 'Microsoft Internet Explorer') ? true : false;

var initContent = function () {
... // Some code.
if (ie) {
window.detachEvent ('onload', initContent);
} else {
window.removeEventListener ('load', initContent, false);
}
}

if (ie) {
window.attachEvent ('onload', initContent);
} else {
window.addEventListener ('load', initContent, false);
}
Ответить с цитированием
  #6 (permalink)  
Старый 24.04.2009, 16:41
Янв
 
Сообщений: n/a

Или же вот такой геморрой:
function checkImage () {
var img = document.getElementsByTagName ('IMG');
var c = 0;
while (img[c]) {
if (!img[c].complete) return false;
}
unsetInterval (i);
... // Some initiation code.
}

var i = setInterval ('checkImage ()', 10);
Ответить с цитированием
  #7 (permalink)  
Старый 24.04.2009, 16:43
Янв
 
Сообщений: n/a

Еже ли вопрос идет об аяксе -
как раз подойдет последний вариант от меня под названием геморрой...
Ответить с цитированием
  #8 (permalink)  
Старый 24.04.2009, 19:05
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

я бы постарался избежать цикла, в котором ожидается загрузка изображений
Ответить с цитированием
  #9 (permalink)  
Старый 28.05.2014, 11:37
Новичок на форуме
Отправить личное сообщение для egik Посмотреть профиль Найти все сообщения от egik
 
Регистрация: 28.05.2014
Сообщений: 3

для того чтобы найти пустое изображение и заменить его на стандартную картинку можно использовать следующее
$("img").error(function () {
$(this).unbind("error").attr("src", "broken.gif");
});
Ответить с цитированием
  #10 (permalink)  
Старый 28.05.2014, 17:43
Аватар для Poznakomlus
Профессор
Отправить личное сообщение для Poznakomlus Посмотреть профиль Найти все сообщения от Poznakomlus
 
Регистрация: 13.03.2013
Сообщений: 1,248

Сообщение от egik Посмотреть сообщение
для того чтобы найти пустое изображение и заменить его на стандартную картинку можно использовать следующее
в файл .htaccess добавляем

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} \.(gif|jpg|jpeg|png)$
RewriteRule .* noimage.jpg [L]

таким образом если изображение не будет найдено, то отобразится заглушка noimage.jpg, которая в данном случае лежит в этой же папке где и .htaccess

Последний раз редактировалось Poznakomlus, 28.05.2014 в 18:26.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как проверить поддеружет браузер определенное событие? GOll Элементы интерфейса 9 24.07.2008 13:40
как разпринтить все существующие переменные scuter Общие вопросы Javascript 11 22.04.2008 13:53