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"));