Problème out of memory sous IE7 et Firefox 3 mais pas sous Firefox 2

winxor Messages postés 10 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 14 août 2008 - 14 août 2008 à 18:43
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 14 août 2008 à 22:15
Bonjour à tous !

Je m'adresse à vous car un problème m'est récemment apparu ( et oui ça arrive XD ) :

J'ai une fonction vérifiant si les images sont chargées dans le cache du navigateur avant d'afficher la page et ses animations.
La fonction la voici :

function verif()
{
    if(document.getElementsByTagName('img')[0].complete)
    {
        if (document.getElementById('page'))
        {
            document.getElementById('page').style.visibility='visible';
            AnimBar(); // j'affiche le contenu de la page et je lance l'animation une fois toutes les images chargées...
        }
    }
    else
    {
        verif();
    }
}

Sous IE7 et Firefox 3 j'ai l'erreur : out of memory qui se déclenche lors de l'appel de la fonction getElementByTagName('img')
mais ceci fonctionne parfaitement sous Firefox 2.0
Quelqu'un aurait-il une solution à me proposer ?

Merci d'avance pour votre aide !
Le lien du site : http://arcagenda.c.la

1 réponse

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
14 août 2008 à 22:15
Bonjour,
 
1/ utilises plutôt la collection images mise
en place par les navigateurs pour ton test
if( document.images[0].complete)

2/  ne
fait pas un appel récursif de la fonction verif(), qui gave la mémoire,
mais place plutôt un setTimeout
function verif(){
  if(
document.images[0].complete){
    if (document.getElementById('page')) {

      document.getElementById('page').style.visibility='visible';

      AnimBar(); // j'affiche le contenu de la page
et je lance l'animation une fois toutes les images chargées...

    }
  }
  else{
    setTimeout( "verif()" , 10);

  }
}
;O)
0
Rejoignez-nous