| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Использование obj.complete |
| Автор: quiz 23.9.2007, 01:48 |
| Использую свойство рисунка "document.getElementById(obj).complete" для проверки состояния загрузки. При первой загрузке страницы все хорошо, но после замены яваксриптом src картинки на другой, во время загрузки новой картинки свойство complete остается true. Видимо браузер видит старую картинку и говорит, что она уже загружена. Как узнать состояние загрузки новой картинки? спасибо |
| Автор: Mymik 23.9.2007, 11:04 |
| quiz, используем поиск -->> http://forum.vingrad.ru/forum/topic-171734/unread-1/hl/onload/index.html |
| Автор: Ghirik 24.9.2007, 05:06 |
| А что, на вопрос то так ни кто и не ответит? Спрашивали про complete, а послали подальше Мне то же интересно, как использовать complete, если была смена src. |
| Автор: dstorm81 24.9.2007, 10:02 |
| не загонялся на эту тему, но как мне кажется лучше всё картинки сразу подгружать массивов через new Image() а затем проводить манипуляцию с ними а как вариант ответа на ваш вопрос, попробовать создавать новую картинку через createElement, с присваиванием уникального id и var. |
| Автор: smartov 24.9.2007, 11:05 |
| Ghirik, зачем complete если onload работает прелестно? |
| Автор: Ghirik 24.9.2007, 14:51 | ||||
Да для предзагрузки, onload вполне достаточен. Но у меня предзагружаются несколько изображений одновременно, и нужно знать все ли они загрузились. Суммировать события onload, как то не красиво, вот и хотелось бы проверять состояние.
Да, я именно так сейчас и сделал, набиваю массив через createElement, но пока ещё не проверял complete, нужно на сервер выкладывать. Проверю отпишусь... |
| Автор: Ghirik 25.9.2007, 17:16 |
| http://www.door-to.ru/LamerPhotoBlog/scripts/slide_click_.htm, делаю вариант листалки изображений, слегонца запутался. Я не меняю src, но происходит похожая непонятка. IE выдает complete = false, в Мозилле и Опере нормально. |
| Автор: Ghirik 25.9.2007, 18:58 |
| Нет, всё нормально, http://www.door-to.ru/LamerPhotoBlog/scripts/onload_image_IE.htm. Везде true, это у меня в скрипте косяк... |
| Автор: smartov 25.9.2007, 21:53 |
| В общем то я не совсем понял в чем разница между проверкой complete у каждого объекта и цеплянием onload каждому, но главное что работает |
| Автор: quiz 29.9.2007, 14:10 | ||
Попробовал onload - событие не возникает, если изображение уже было загружено и с сервера больше не вытаскивается. Если ставить на событие onload исчезание надписи "загрузка рисунка", то при показе "старых" картинок надпись висит вечно |
| Автор: SelenIT 29.9.2007, 23:22 | ||
Это где так? В Опере, вероятно? И при каких настройках? Лично мне пока известны лишь одни грабли с onload-ом - http://forum.vingrad.ru/forum/topic-159218/kw-onload-%D0%B0%D0%BD%D0%B8%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9-gif-%D0%BF%D0%BE%D0%B2%D1%82%D0%BE%D1%80%D0%BD%D0%BE%D0%B5-%D1%81%D1%80%D0%B0%D0%B1%D0%B0%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5.html... |
| Автор: quiz 30.9.2007, 09:12 | ||||||||
Ничего сложного if (document.getElementById("mypicture").complete) { alert('рисунок загружен'); } Добавлено через 9 минут и 21 секунду
В IE. Гиф обычный, не анимированный. Меняю scr явакриптом, событие onload возникает только если рисунок еще не кешировался браузером. |
| Автор: SelenIT 30.9.2007, 15:12 |
| quiz, почему-то у меня не воспроизводится. Onload http://silverflame.at.tut.by/gif/gif2.html при любых настройках кеша. Проверял в IE6 SP2 и IE7 standalone. |
| Автор: smartov 1.10.2007, 10:50 | ||
quiz,
Ха. А как его отлавливать предлагаешь? Таймер заводить? Нет спасибо. А на счет onload действительно укажи браузер где возникает проблема, и желательно пример |