-
04-06-2010, 14:51 #1Member
- Registered
- 17/07/02
- Location
- Antwerpen
- Posts
- 1,341
- iTrader
- 1 (100%)
- Mentioned
- 1 Post(s)
- Reputation
- 11/14
AS3 Preloaders werken 1x, daarna niet meer
Hi y'all!
'k Heb al een tijdje een vrij vervelend probleem, en nu ik vaker met flash bezig ben wordt het alleen frustrerender wanneer ik geen simpele preloader aan de praat krijg.
Het probleem gaat als volgt:
Telkens wanneer ik in Firefox (IE8 en Opera = np) een flashproject met as3 preloader bezoek laadt hij de eerste keer perfect en gaat door tot de main site, maar elke volgende keer geraak ik niet voorbij de preloader, blijft de animatie loopen en wordt er geen laadpercentage meer weergegeven. Maak ik m'n cache leeg laadt hij weer perfect, tot ik weer eens refresh.
2 versch. voorbeelden:
- Preloader 1
- Preloader 2 (rap ergens gedownload)
Eerst dacht ik dat het een gekend probleem was, nl. gzip compressie, maar daardoor zou de preloader de eerste keer ook niet kunnen werken, en staat het ook niet enabled op m'n webserver.
Heeft iemand een idee hoe ik dit zou kunnen fixen? 'k Heb het al met meerdere verschillende preloaders geprobeerd en het blijft terugkomen.
Is er misschien een manier om bij elk bezoek een nieuwe download te forceren en de cache te overschrijven ofzo?Freelance webdesign & illustration
www.konraddobson.com (vernieuwde portfolio online!)no votes
-
-
04-06-2010, 15:55 #2
.htaccess bestand aanmaken in de root met volgende code erin
<FilesMatch "\.(swf)$">
Header set Cache-Control "max-age=5, public"
</FilesMatch>
zorgt dat de swf bestanden in dit geval maar 5 sec in de cache blijven
maar dat is eigenlijk maar een omweg, een werkende as3 preloader heb ik ook nog ergens staan, ik post het wel als ik die terugvind
no votes
-
04-06-2010, 16:04 #3Member
- Registered
- 04/10/03
- Location
- 9000
- Posts
- 3,755
- iTrader
- 14 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 5/35
Bij mij werkt alles wel goed. Ik kan de preloader zoveel keer laden als ik wil. Nu, ik denk dat er hierboven wel een goede oplossing staat.
Zelf heb ik ook enkele werkende preloaders en ik moet zeggen. Het zijn verdomd simpele dingen, maar ze kunnen smerig zijn!no votes
-
04-06-2010, 16:33 #4Member
- Registered
- 17/07/02
- Location
- Antwerpen
- Posts
- 1,341
- iTrader
- 1 (100%)
- Mentioned
- 1 Post(s)
- Reputation
- 11/14
If it works, it works. Thanks. Nu nog zien hoe ik da bij sohosted moeten regelen, aangezien die met iirf.ini bestanden werken ipv .htaccess, en da blijkbaar ni hetzelfde resultaat geeft.
'k Heb er al wel een aantal geprobeerd, dus ik verwacht niet dat het iets zou schelen, maar wie weetmaar dat is eigenlijk maar een omweg, een werkende as3 preloader heb ik ook nog ergens staan, ik post het wel als ik die terugvind
I'd appreciate the effort!
Tiens. In Firefox ook? In IE8 en Opera werkt het idd prima.
Als het bij u in firefox werkt; welk besturingssysteem gebruik je?Freelance webdesign & illustration
www.konraddobson.com (vernieuwde portfolio online!)no votes
-
04-06-2010, 18:28 #5Member
- Registered
- 04/10/03
- Location
- 9000
- Posts
- 3,755
- iTrader
- 14 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 5/35
'k Zal het sebiets eens in Firefox proberen. Maar het was met Internet Explorer 8 op een crapcomputer met Windows XP. Firefox doet erg vaag hierop, dus ik ga het vanavond nog eens testen op m'n Mac.
no votes
-
04-06-2010, 18:50 #6Member
- Registered
- 17/07/02
- Location
- Antwerpen
- Posts
- 1,341
- iTrader
- 1 (100%)
- Mentioned
- 1 Post(s)
- Reputation
- 11/14
'k Heb het op nen andere manier gefixt.. gaat wa miserie besparen

In den swfobject:
Elke keer ge site refresht ist ander sec/min/uur, dus ander bestandsnaam.Code:var uniqueID = Date(); swfobject.embedSWF("kia-ceed_landing-nl.swf?id=" + uniqueID, ...
Pfiew! Toch merci voor te checken
Freelance webdesign & illustration
www.konraddobson.com (vernieuwde portfolio online!)no votes
-
04-06-2010, 19:53 #7Member
- Registered
- 06/06/04
- Location
- Bilzen
- Posts
- 8,805
- iTrader
- 18 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 42/128
Dit is eigenlijk gewoon een 'bug' in Internet Explorer, de oplossing is gewoon om uw loadCompleteHandler van uw preloader uit te voeren in de init functie van uw preloader als uw ingeladen bytes gelijk staan aan uw totale bytes.
Dus dat is gewoon:
Code:if (this.loaderInfo.bytesLoaded == this.loaderInfo.bytesTotal) { this.completeHandler(); }no votes
-
05-06-2010, 19:17 #8Member
- Registered
- 18/07/02
- Location
- Deurne
- Posts
- 3,854
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 14/14
Ga je die custom id-parameter ook laten staan, want eigenlijk is't ni sympathiek dat iemand de swf niet uit de cache mag laden als er niets gewijzigd is tov vorige keer. Je kan bijvoorbeeld met een versie-variabele werken ipv een Date-object dat telkens wijzigt.
Wil je dan pushen dat mensen opnieuw de laatste versie downloaden pas je de versie aan in je html/php file en zullen ze opnieuw de swf downloaden.
Als je'n eigen webserver draait om lokaal te testen kan je via een kleine applicatie die sloppy heet kan je een trage download ook simuleren. Dit is handig als je de profiler niet kan gebruiken omdat je bijvoorbeeld niet in de IDE compileert. (maar via de flex-SDK die een pak sneller is)
Als je wel via de flash IDE (het programma flash zelf dus) compileert kan je in het preview-venster kiezen voor VIEW > download settings (zet dat op iets laag) en vervolgens VIEW > SIMULATE DOWNLOAD (ctrl-enter) Dan gaat hij opnieuw compileren maar een tragere lijn simuleren.
ps: een aanrader voor als je het visuele aspect en code gescheiden wilt houden > flashdevelop (kzal in de zomer wel'ns wat tutorials schrijven)no votes
-
07-06-2010, 00:54 #9Member
- Registered
- 17/07/02
- Location
- Antwerpen
- Posts
- 1,341
- iTrader
- 1 (100%)
- Mentioned
- 1 Post(s)
- Reputation
- 11/14
Goh 't is ni da mensen meermaals campagnesites bezoeken, en dan nog ist maar 400kb per volledige download.
Maar idd.. 't is ni optimaal, maar het werkt wel. En de wanhoop dreef me ertoe!
Het probleem da ik beschreef is voor zover m'n zoekwerk opgeleverd heeft ni direct een codingfout, (al kan het misschien wel omzeild worden) daar het in Internet Explorer en Opera allemaal perfect werkt. Enkel in firefox komt dien bug voor.
Like I said; eerste download gaat perfect, loader werkt vlot en site laadt.
Zodra het in cache zit (in firefox!) en ge refresht blijft de preloaderanimatie eindeloos loopen en wordt er geen percentage meer berekend.
Hier de preloadercode:
Code:function loadProgress(my_content:ProgressEvent):void { var percent:Number = Math.floor( (my_content.bytesLoaded*100)/my_content.bytesTotal ); loadanim.loadTxtAnim.loadPercentText.text = percent + " %"; loadanim.gotoAndStop(percent); } function loadComplete(e:Event):void { gotoAndPlay(11); } loaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress); loaderInfo.addEventListener(Event.COMPLETE, loadComplete);Freelance webdesign & illustration
www.konraddobson.com (vernieuwde portfolio online!)no votes
-
07-06-2010, 01:08 #10Member
- Registered
- 05/06/04
- Location
- Antwerpen
- Posts
- 5,700
- iTrader
- 3 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 4/23
Doe in je loadProgress-functie ook een check op het percentage en regel daar zelf ook het dispatchEvent eventueel? Of vernietig de listener van de progress, misschien komt die in de weg te staan van de COMPLETE eventlistener...
Zelf ook al rare dingen meegemaakt met AS3, zal nogal gevoelig zijn aan kleine codinglogica-foutjes?=)no votes

