2010-04-23 8 views
3

Ceci est seulement un problème dans IE. L'actioncript suivant est pour un simple préchargement pour un film sur lequel je travaille. Cela fonctionne bien dans Firefox mais le film s'arrête sur la première image du préchargeur lorsqu'il est ouvert avec Internet Explorer. Quelqu'un at-il déjà eu ce problème?Preloader bloquer le film flash dans IE

stop(); 

addEventListener(Event.ENTER_FRAME,checkLoad); 
function checkLoad(e:Event):void { 
var pcent:Number=this.loaderInfo.bytesLoaded /this.loaderInfo.bytesTotal*100; 
bar_mc.scaleX=pcent/100; 
loader_txt.text=int(pcent)+"%"; 
if (pcent==100) { 
removeEventListener(Event.ENTER_FRAME,checkLoad); 
this.gotoAndPlay(2); 
} 
} 

Répondre

3

Attention aux erreurs de division par zéro!

var pcent:Number=this.loaderInfo.bytesLoaded /this.loaderInfo.bytesTotal*100; 

Vous ne pouvez pas supposer que loaderInfo connaît le nombre total d'octets. Parfois, le serveur ne dit pas au navigateur la taille du fichier. Dans votre cas, le fichier était probablement déjà mis en cache par Firefox mais pas par IE.

Certaines personnes résolvent ce problème en informant au préalable la taille du fichier, d'autres configurent leur serveur Web pour envoyer cette information.