Проблема с использованием onload javascript - PullRequest
1 голос
/ 01 сентября 2009

Я использовал Javascript onlaod так:

function check()
{
   var pic =  new Image();
   pic.src= "images/first.jpg";
   pic.onload =  function()
   {
     alert("Uploaded");
   }
}

Это HTML-код, где вызывается функция.

<input type="button" onclick="check()" value="Check" />

Работает как для сафари, так и для Firefox. Но с IE в первый раз это работает, но когда я нажимаю на кнопку проверки в следующий раз, это не работает. Это также работает, когда очищается кеш.

Может кто-нибудь помочь мне, какая проблема может возникнуть здесь.

Заранее спасибо

Ответы [ 2 ]

9 голосов
/ 01 сентября 2009

Это не должно быть проблемой в IE8.

IE6 (не уверен насчет 7) общеизвестно стремится использовать кэшированные файлы, и при извлечении из кэша нагрузка рассчитывается неправильно (я помню, что по этому поводу есть интересное сообщение об ошибке, поищите его на сайте MS).

Эту проблему можно решить, добавив параметр [бесполезный], который вызывает перезагрузку кэшированного файла:

pic.src = "images / first.jpg? Nocache =" + Math.random ()

0 голосов
/ 01 сентября 2009

возможно, onload () слишком рано?

jquery использует функцию

$(document).ready(function(){} 

выполняется после завершения загрузки страницы. Возможно, вам нужна подобная функция.

...