2010-04-16 4 views
0

Si vous allez à http://moederdagontbijtplacemat.nl/ vous verrez une barre de progression. L'application charge un fichier SWF assez volumineux à partir du serveur à l'aide de la classe Loader. Curieusement, la barre de progression va immédiatement à 100% (mais le chargement prend encore un peu de temps après). Le code est ci-dessous, mais vous verrez que c'est fondamentalement trop simple à casser.AS3 "Loader" progrès passe immédiatement à 100%

--- Cela a fonctionné lorsque l'application était sur un serveur différent, donc je pensais que peut-être le nouveau serveur n'envoyait pas la taille du grand fichier SWF dans les en-têtes http. Firebug montre cependant une barre de progression, donc ce n'est pas le cas, l'information devrait être disponible .---

Mise à jour: C'est en fait incorrect, Apache n'envoie pas l'en-tête Content-Length. Je vais regarder ça. : EndUpdate

Cela fonctionne également lorsque j'exécute le loader swf localement et change l'URL (new URLRequest("Placemat.swf")) à l'URL absolue de Placemat.swf sur le serveur.

 var l:Loader = new Loader(); 
     addChild(l); 
     l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, function(e:ProgressEvent) { 
      s.setProgress(e.bytesLoaded/e.bytesTotal); 
      trace(Math.round(100 * e.bytesLoaded/e.bytesTotal), "%"); 
     }); 
     l.contentLoaderInfo.addEventListener(Event.COMPLETE, function() { 
      removeChild(s); 
     }); 

     l.load(new URLRequest("Placemat.swf")); 

Répondre

0

fixe, Apache a été gzipping et ne pas envoyer l'en-tête Content-Length.

.htaccess:

SetEnv no-gzip dont-vary 
0

La barre de chargement a fonctionné correctement lorsque j'ai visité le site Web.

le swf peut-être juste dans le cache de votre navigateur, essayez de vider votre cache