Probleme javascript ie8

Résolu
patusprod Messages postés 5 Statut Membre -  
 charly -
Bonjour,

voila, dans ma page image.php j'ai un appel a un script :
<script type="text/javascript">
function displayPics()
{
var photos = document.getElementById('galerie_mini') ;
var liens = photos.getElementsByTagName('a') ;
var big_photo = document.getElementById('big_pict') ;
for (var i = 0 ; i < liens.length ; ++i) {
liens[i].onclick = function() {
big_photo.src = this.href;
return false;
};
}
}
window.onload = displayPics;
</script>

ceci fonctionne bien.

J'ai voulu externaliser l'appel de cette fonction dans un ficher js en l'appelant ainsi :
<script type="text/javascript" src="script.js"></script>
pour lequel le fichier script.js reprend exactement le code javascript :
function displayPics()
{
var photos = document.getElementById('galerie_mini') ;
var liens = photos.getElementsByTagName('a') ;
var big_photo = document.getElementById('big_pict') ;
for (var i = 0 ; i < liens.length ; ++i) {
liens[i].onclick = function() {
big_photo.src = this.href;
return false;
};
}
}
window.onload = displayPics;

cela fonctionne bien sous firefox mais pas sous IE8 !

Quelqu'un aurait-il une idee ???

PS : j'ai essaye de laisser le script javascript window.onload = displayPics; dans image.php et cela ne marche toujours pas :(

merci de vos lanternes

9 réponses

  1. charly
     
    J'appelle au boycot définitif de IE qui est juste le navigateur le moins au norme. C'est une vrai galère de faire des sites compatibles IE. Chez moi ça bug sur certaines fonctions javascript et uniquement sur IE bien sur. C'est à s'arracher les cheveux. Il serai temps qu'il se mette plus au moins aux normes W3C et qu'ils abandonnent les normes IE, se serai déjà un grand pas. En attendant, si vous n'avez pas le choix du navigateur, vous devez bidouiller une version IE et une autre pour les navigateurs aux normes.
    5
  2. coeus Messages postés 3296 Statut Membre 120
     
    Est-ce que c'est vraiment l'appel de fonction qui est fautif ?

    Essaie de mettre un alert(); entre chaque ligne de ta fonction displayPics(). Si un des alert() ne s'affiche pas, c'est que la ligne précédente est fautive.

    Parce qu'à première vue je ne vois vraiment pas ce qui peut clocher... :S
    Va falloir faire un peu de débogage !!! ;)
    0
  3. patusprod Messages postés 5 Statut Membre
     
    merci de ta reponse
    alors j'ai mis des alertes un peu partout :
    dans la page image.php :
    <script type="text/javascript">
    alert("ok1");
    window.onload = displayPics;
    alert("ok2");
    </script>

    et ensuite j'ai mis des alertes dans la fonction displayPics() appelée dans le fichier script.js

    résultat : l'appel de la fonction ne se fait pas !
    un pop up ok1 s'ouvre bien et puis plus rien

    donc incriminée la fonction :
    window.onload = displayPics;

    mais cette fonction fonctionne parfaitement avec firefox !

    merci encore
    0
  4. coeus Messages postés 3296 Statut Membre 120
     
    Si tu mets plutôt :
    window.onload = displayPics();
    ?
    J'avoue qu'en tous les cas c'est bizarre que ça fonctionne sous Firefox mais pas IE...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. patusprod Messages postés 5 Statut Membre
     
    j'ai essaye mais ca ne marche pas
    merci
    0
  7. coeus Messages postés 3296 Statut Membre 120
     
    Là j'avoue humblement que je ne sais pas.
    Il doit y avoir une différence de comportements entre les deux navigateurs que j'ignore. :(
    En tous les cas, si jamais tu trouves la solution, fais-m'en part, je n'aime pas être bouché sur quelque chose qui me semble aussi basique !
    Je t'avertis également si je trouve quoi que ce soit éventuellement !
    0
  8. patusprod Messages postés 5 Statut Membre
     
    ok
    et merci de ton aide en tout cas
    0
  9. onlinepra Messages postés 1 Statut Membre
     
    je vais l'essayer aussi sur mon portfolio http://prakashapkota.free.fr/
    0
  10. patusprod Messages postés 5 Statut Membre
     
    toujours rien ?
    merci
    0