way2web
Messages postés65Date d'inscriptionjeudi 17 mars 2011StatutMembreDernière intervention17 mars 2011
-
8 juil. 2008 à 17:23
Zambee
Messages postés2Date d'inscriptionjeudi 22 novembre 2007StatutMembreDernière intervention 3 septembre 2008
-
3 sept. 2008 à 14:13
Bonjour,
J'ai un problème avec le chargement d'un swf, sous Firefox 2 aucun problème mais sous IE7 lorsqu'on passe de page en page, il arrive que le preloader se bloque à 100% et refuse de continuer à lire l'animation.
En gros je charge l'animation en frame1, à 100% l'animation commence à se lire, en frame2 je teste si un paramètre a été envoyé via l'url et je navigue dans l'animation en fonction de ce paramètre ou de son absence...
Est-ce que ça vient de mon script ou bien du swfobject dans ma page html, ce que je comprends pas c'est que sous FF2 ça fonctionne nickel :?
Je vous montre mon code actionscript
Frame1
[as]
stop();
var p:String;
var flashvars:Object = this.loaderInfo.parameters;
var preloader_mc:Preloader= new Preloader();
preloader_mc.x=(stage.stageWidth-preloader_mc.width)/2;
preloader_mc.y=(stage.stageHeight-preloader_mc.height)/2;
addChild(preloader_mc);
//add the listener for load progress, hooked into the LoaderInfo object of the main swf.
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS,checkLoadProgress);
//Load progress handler
function checkLoadProgress(event:ProgressEvent):void
{
var progressPercentComplete:int=(event.bytesLoaded / event.bytesTotal)*100;
//output a percentage text...
preloader_mc.loadDynamicText.text= String(progressPercentComplete+ " %");
trace(progressPercentComplete);
//loadPercent.text = "LOADING... "+String(Math.floor(progressPercentComplete)) + " %";
if (progressPercentComplete ==100)
{
//do what needs to be done when your file has loaded
//remove the progress listener
this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS,checkLoadProgress);
removeChild(preloader_mc);
play();
}
}
/as
Frame 2
[as]
var navData:XML;
var arrayLinks:Array = new Array();
var loader:URLLoader = new URLLoader();
var myRequest:URLRequest;
var formatLink:TextFormat = new TextFormat();
//
//
loader.addEventListener(Event.COMPLETE, onComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.load(new URLRequest("links.xml"));
function onComplete(evt:Event):void
{
try
{
navData=new XML(evt.target.data);
//trace(navData);
loader.removeEventListener(Event.COMPLETE, onComplete);
loader.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
var listLinks:XMLList =navData.link.url;
//trace("the XML file contains "+listLinks.length()+" links");
for (var i:int=0; i<listLinks.length(); i++)
{
//trace(listLinks[i]);
arrayLinks.push(listLinks[i]);
}
}
catch (err:Error)
{
trace("Could not parse loaded content as XML:\n"+err.message);
}
}
function onIOError(evt:IOErrorEvent):void
{
trace("An error occured when attempting to load the XML.\n" + evt.text);
}
function urlHandler(evt:MouseEvent):void
{
trace(evt.target.name);
trace(evt.target.name.length+" evt.target.name.length");
var index:int;
if (evt.target.name.length<=5)
{
index=evt.target.name.substring(evt.target.name.length-1,evt.target.name.length);
}
else
{
index=evt.target.name.substring(evt.target.name.length-2,evt.target.name.length);
}
trace("index is : "+index);
trace(arrayLinks[index]);
myRequest= new URLRequest(arrayLinks[index]);
trace("myRequest is : "+myRequest);
navigateToURL(myRequest,"_blank");
}
way2web
Messages postés65Date d'inscriptionjeudi 17 mars 2011StatutMembreDernière intervention17 mars 2011 9 juil. 2008 à 20:25
J'ai finalement trouvé la source du problème; il s'agissait du script de preloading qui buggait sous IE, en fait la condition si ma variable de progression du téléchargement == 100 n'était pas correctement interprétée sous IE et donc le play() ne se lançait pas, j'ai adapté le script en conséquence et désormais plus aucun bug !