Hello,

Quelqu'un pourrait m'aider pour un petit problème de JavaScript lors du chargement de page.
En fait c'est plutôt un problème de chargement mais comme je ne sais où placer le sujet, alors j'le met ici.

Présentation : JavaScripts :
swfobject.js qui contient le script SWFObject,
swfobject2.js qui contient l'instance et différents flashvars/paramètres pour SWFObject,
swfaddress.js qui est un script pour le deep-linking.

En effet depuis quelque jours, j'ai mis un système permettant d'avoir un JavaScript non "bloquant" en chargement de page. Donc je rajoute ceci : (Script PHP qui le fait auto ^^)

var script0=document.createElement("script");
script0.src="http://prod.phisyx.com/js/swfobject,swfaddress.v1302389736.js";
script0.type="text/javascript";
document.getElementsByTagName("head")[0].appendChild(script0);
var script1=document.createElement("script");
script1.src="http://prod.phisyx.com/js/swfobject2.v1302463202.js";
script1.type="text/javascript";
document.getElementsByTagName("head")[0].appendChild(script1);

Ce système marche "niveau performance" mais j'ai "plusieurs" problèmes :
Le premier est que parfois swfobject2.js (qui a une plus petite taille) se charge plus rapidement que swfobject.js et donc j'ai une erreur JS:

swfobject is not defined
http://mikuzzo.alwaysdata.net/js/swfobject2.v1302462921.js
Line 1

Le deuxième est que si je veux charger l'instance et les flashvars/paramètres directement dans l'HTML, j'ai aussi l'erreur JS cité dessus, il ne trouve pas, pourtant il est bien chargé :s
Le troisième est que le deep-linking ne fonctionne pas avec cette méthode... (Mais ça je trouverais une astuce..)

Voilà voilà, si quelqu'un a une idée... Pour tester : c'est ici. (n'hésitez pas à recharger la page si ça ne vous le fait pas) :)
Merci ! PhiSyX ©

2 réponses


Grafikart
Réponse acceptée

Il faut respecter l'ordre de chargement des JS, si ton script de lazy loading ne le fait pas change et trouve en un autre :)

PhiSyX
Auteur

Yes merci pour la réponse. J'ai trouvé une autre soluce, passer par XHR $.getScript.
Passer le javascript via une requête XMLHttpRequest. Le script ne bloque ni les nouveaux téléchargements ni l'événement onload :)
Merci, à bientôt ^^