Показать сообщение отдельно
  #14 (permalink)  
Старый 21.05.2010, 05:18
Новичок на форуме
Отправить личное сообщение для Levsha Посмотреть профиль Найти все сообщения от Levsha
 
Регистрация: 21.05.2010
Сообщений: 1

EugenyK, вы не правы, специально перепроверил.
Если страница закеширована (то есть если обновлять страницу не через F5, а просто перейдя на нее по ссылке) , то событие onload не срабатывает.

Тут поможет свойство "complete" , объекта <img/>
Это свойство равно true , когда изображение уже загружено в кеш, и false если не загружно. Таким образом ваш код:
<script type='text/javascript'>
document.getElementById('img').onload = function(){
alert(this.src+' is loaded!')
}
</script>

меняем на:
<script type='text/javascript'>
if (document.getElementById('img').complete) {alert(this.src+' is loaded!')}
else document.getElementById('img').onload = function(){
alert(this.src+' is loaded!')
}
</script>
Если используем jQuery, то вполне можно сделать так:
<script type='text/javascript'>
if ($('#doorimg').attr("complete")) {alert(this.src+' is loaded!')}
... и т.д.
</script>
Ответить с цитированием