Bonjour,
dans mon programme je charge dynamiquement un code javascript suivant les options de l'utilisateur.
Lorsque le site est lancé, le premier code éxécuté est le suiavnt :
La fonction loadJS
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if(typeof(navigator) == 'undefined'){ loadJS("JS1.js"); }else{ loadJS("JS2.js"); }
Je sais que le while() c'est mal, mais je l'ai ajouté pour être sur que le fichier soit bien chargé. Ensuite dans le code, je lance une fonction X qui est contenue dans le JS chargée. Sur OPERA ça marche nickel, mais sur Safari, même si this.readyState est 4, le JS n'est pas chargé, donc j'ai une erreur quand ça arrive à la fonction. Safari charge le JS tout à la fin de l'application, quand elle quitte à cause de l'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function loadJS(filename){ var File=ElementToCreate(document,'script'); File.setAttributeNS("http://www.w3.org/1999/xlink","href", filename); File.onreadystatechange= function () { while (this.readyState < 4) ; } alert('JS Loaded'); document.getElementById('script').appendChild(File); }
Quelqu'un a une idée la dessus ?
Partager