Page bloquée rechargement page

Messages postés
6
Date d'inscription
jeudi 6 mai 2010
Statut
Membre
Dernière intervention
26 août 2011
- - Dernière réponse : _benjy
Messages postés
1637
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
21 février 2011
- 31 janv. 2011 à 16:53
Bonjour à tous amis scripteurs

Comme je l'ai indiqué dans le titre du message, j'ai un souci avec le rechargement de la page flash de mon site sur certains ordis.

J'ai fort logiquement intégré mon swf dans une page html et, au lancement de la page, pas de problème, tout s'affiche correctement. Par contre, au rafraîchissement de la page, celle-ci se bloque sur la barre de chargement. Le seul moyen de contrer ça est de lui indiquer "lire" avec le clic droit.

Je suppose qu'il doit y avoir une solution miracle pour contrer ça, non ? Un écouteur "ENTER_FRAME" par exemple ?

Merci d'avance pour votre aide...
Afficher la suite 

8 réponses

Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
0
Merci
Hello,

sur quels ordis, quels systèmes, quels navigateurs, survient le problème ?
Qu'as-tu exactement dans ton animation Flash (le code) ?

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
Commenter la réponse de BBFUNK01
Messages postés
6
Date d'inscription
jeudi 6 mai 2010
Statut
Membre
Dernière intervention
26 août 2011
0
Merci
Salut et merci de t'intéresser à mon problème

J'ai eu ce problème avec :
ie 9 (comme d'hab) et firefox (moins habituel) sur
un xp et un os-x leopard

Pour le fichier il y a :
Frame 1 : barre de chargement
stop();

function progressListener(e:ProgressEvent):void {
var charger:Number = e.bytesLoaded / e.bytesTotal;
var pourcent:int = charger* 100;

loading_Bar.scaleX = charger;
}

function completeListener(e:Event):void {
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressListener);
loaderInfo.removeEventListener(Event.COMPLETE, completeListener);
gotoAndPlay("titre");
}

loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressListener);
loaderInfo.addEventListener(Event.COMPLETE, completeListener);


Frame 2: quelques infos + chargement d'une image externe
var aCharger:Loader;
aCharger= new Loader() ;
var laVignette:PhotoClp=new PhotoClp();
aCharger.load(new URLRequest("image1.JPG"));

laVignette.x = 0;
laVignette.y = 157;
laVignette.width = stage.width*0.06;
laVignette.height = stage.height*0.06;

laVignette.addChild(aCharger);
addChild(laVignette);
trace(laVignette.width, laVignette.height, laVignette.x, laVignette.y);		


Frame 4 : Des liens externes précédé d'un stop(); par exemple :

facebook.addEventListener(MouseEvent.CLICK,goImage6);
function goImage6(event:MouseEvent){
     getURLAS3("http://www.facebook.com/#!/group.php?gid=191448754530&ref=ts");

//etc et tout en bas

function getURLAS3(url, page="_self") {
navigateToURL(new URLRequest(url), '_self');
}

}


Rien de bien méchant a priori donc mais... ça bug !
Commenter la réponse de floo75
Messages postés
6
Date d'inscription
jeudi 6 mai 2010
Statut
Membre
Dernière intervention
26 août 2011
0
Merci
Ca vient peut-être du stop(); du début de la barre de chargement, maintenant que j'y pense, non ?
Commenter la réponse de floo75
Messages postés
6
Date d'inscription
jeudi 6 mai 2010
Statut
Membre
Dernière intervention
26 août 2011
0
Merci
J'imagine que tu n'as pas eu le temps de regarder mon problème... J'ai continué de chercher de mon côté mais je ne trouve toujours pas. Une idée ?
Commenter la réponse de floo75
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
0
Merci
Hello,

à vrai dire je ne vois pas vraiment... J'ai eu le même genre de problème dans des pages (en HTML5) dans lesquelles j'avais intégré des swf en mode transparent -> une fois chargée les pages affichaient tout correctement, mais lorsque je rafraîchissais les pages mes swf devenaient invisibles. Ces problèmes survenaient exclusivement sur safari 4, en passant sur safari 5 ça a réglé le problème.
Donc je dirais que suivant l'intégration de ton swf -> mode window ou transparent, il faut regarder ce que ça donne.
Ensuite peut-être aussi mettre ta progressBar dans un autre swf -> tu charges le swf qui contient ta progressBar dans ta page HTML, et ensuite ce swf charge le swf qui contient ton animation.
Sinon si ce n'est pas le cas : intégrer ton swf dans ta page HTML avec SWFObject.

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
Commenter la réponse de BBFUNK01
Messages postés
1637
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
21 février 2011
2
0
Merci
Ola,

ca viens de ton code, lorsque tu fais un F5 (refrech navigateur), selon le navigateur ou encore la version du player en jeu, l'evenement "complete" est mal propagé.

remplace dans ton code :
function completeListener(e:Event=null):void {
    if (e) {
        loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressListener);
        loaderInfo.removeEventListener(Event.COMPLETE, completeListener);
    }
    gotoAndPlay("titre");
}


et tout en bas après l'ajout des écouteurs sur loaderInfo :

if (loaderInfo.bytesLoaded >= loaderInfo.bytesTotal) completeListener();


et ca devrait marcher ;)
++

Ben
Amalgam Production - Développement Web Flash PHP MySQL - Identité visuel et audiovisuel.
Commenter la réponse de _benjy
Messages postés
6
Date d'inscription
jeudi 6 mai 2010
Statut
Membre
Dernière intervention
26 août 2011
0
Merci
Salut !

@BBFUNK01 : j'ai essayé les deux méthodes, rien à faire...

@_benjy : C'est une bonne idée de passer par là, le problème est que du coup j'ai une erreur "nombre d'arguments incorrect. 1 attendu". Il n'a pas l'air de comprendre ce sur quoi il faut qu'il travaille...

Merci à tous les deux de m'aider en tous cas !
Commenter la réponse de floo75
Messages postés
1637
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
21 février 2011
2
0
Merci
MDR, ben l'erreur "nb d'argument incorrect" vient du fait que tu n'as pas modifié la fonction "completeListener" comme je te l'ai indiqué
j'ai ajouté un "=null" à la suite de "e", l'argument d'entrée de ta fonction.
"param=value" en guise d'argument permet de donner une valeur par défaut à ton paramètre.
tu peux aisi appeler ta fonction par "maFonction(monArguement);" que par "maFonction();" vue que le paramètre est de venu facultatif, you see ;)
allé en le corrigeant tu verras que ca marche (ou sinon c'est une autre erreur ailleurs ...)
++

Ben
Amalgam Production - Développement Web Flash PHP MySQL - Identité visuel et audiovisuel.
Commenter la réponse de _benjy