2009-09-01 9 views
1

J'utilise Javascript onlaod comme ceci:problème en utilisant javascript onload

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

C'est le code html où la fonction est appelée.

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

Fonctionne à la fois pour safari et firefox. Mais avec IE, la première fois que cela fonctionne, mais quand je clique sur le bouton suivant la prochaine fois que cela ne fonctionne pas. Cela fonctionne également lorsque le cache est effacé.

Quelqu'un peut-il m'aider quel problème pourrait se produire ici.

Merci à l'avance

Répondre

9

Cela ne devrait pas être un problème dans IE8. IE6 (pas sûr environ 7) est notoirement désireux d'utiliser des fichiers mis en cache, et en prenant de la mémoire cache la charge n'est pas correctement calculée (je me souviens qu'il y avait un rapport de bogue intéressant sur le site MS) .

Il peut être résolu en ajoutant un paramètre [inutile] qui force un rechargement du fichier mis en cache:

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

+0

Un paramètre aléatoire résoudra le problème de mise en cache. Votre cas ressemble à un problème de mise en cache uniquement. – Faiz

+0

Merci beaucoup Samgoody et Faiz !!! C'est juste un problème de cache. Ça marche maintenant. Merci encore :) – user75472

0

peut-être le onload() est trop tôt?

jquery utilise une fonction

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

qui est exécuté lorsque la page a fini de charger. Peut-être avez-vous besoin d'une fonction similaire.

+0

OP utilise le gestionnaire d'événements correct, il est juste IE cache de manière agressive, puis ne pas signaler un événement de charge la 2ème et la Nième fois – scunliffe

Questions connexes