2010-04-16 9 views
1

http://randomdorm.common site flash ne rend pas souvent jusqu'à ce que je rafraîchisse

Notre client communique avec un back-end Rails pour obtenir des détails de connexion, puis se connecte à un serveur Adobe LCCS. Nous avons navigué tout de suite mais vers midi hier nous avons développé un bug qui empêche le swf de s'afficher tant que vous n'avez pas actualisé la page. Sur les actualisations suivantes, il apparaît tout de suite. Le problème s'est produit même lorsque j'ai désactivé le code qui vérifie avec le serveur Rails.

Comment la rafraîchissante peut-elle faire la différence?

Répondre

0

Il semble que vos utilisateurs visitent votre page et le swf commence à jouer avant qu'il ne soit complètement téléchargé arrêts et une fois qu'il frappe la dernière image chargée et ne continue pas à jouer même lorsque le swf chargement effectué .

Lorsque l'utilisateur actualise, le swf a été mis en cache et ils chargent la version qu'ils auraient dû voir auparavant.

Un moyen facile de résoudre ce problème est de mettre une action stop() sur la première image, puis d'ajouter un écouteur Event.PROGRESS à l'objet loaderInfo de la scène principale. . Lorsque les événements bytesLoaded correspondent à votre bytesTotal alors votre swf est complètement chargé et vous pouvez play() votre swf à ce moment (ou gotoAndPlay()

Exemplea lieu sur la première image de votre projet:

function loadProgressHandler(event:Event):void { 
    if(event.bytesLoaded >= event.bytesTotal) { 
     event.target.removeEventListener(Event.PROGRESS, this.loadProgressHandler); 
     play(); 
    } 
} 

this.stop(); 
this.loaderInfo.addEventListener(Event.PROGRESS, this.loadProgressHandler);