Наткнулся на забавную проблему с работой прелоадера в
FireFox (проблема проявляется только в нём).
Если при загрузке страницы флешка находится в области видимости, то всё работает хорошо. Но если прокрутить страницу так, чтобы флешки не стало видно и обновить страницу — прелоадер перестаёт работать.
Пример здесь:
http://adrior.ru/flash/preloader-problem/
На страницу вставлены две одинаковые флешки. Но в Фаерфоксе первая грузится хорошо, а вторая — дико глючит. Если же перемотать страницу вниз и обновить — ситуация изменится на противоположную.
Код прилоадера:
Код AS3:
package{
import flash.events.ProgressEvent;
import flash.display.MovieClip;
import flash.events.Event;
public class SimpleLoader extends MovieClip{
public function SimpleLoader()
{
// На обработку события загрузки вешается изменение размеров прогрессбара
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, preloaderStatistics);
// По окончанию загрузки переходим ко второму кадру и скрываем белый зановес
this.loaderInfo.addEventListener(Event.COMPLETE, function (event:Event) {
gotoAndStop(2); fadeOut(curtain);
});
}
private function preloaderStatistics(event:ProgressEvent)
{
var percent = Math.round(event.bytesLoaded / event.bytesTotal * 100);
var newWidth = Math.round(preloader.width*percent/100);
if (newWidth > preloader.width) newWidth = preloader.width;
progress.width = newWidth;
percentInfo.text = percent + '%';
}
// Далее чисто декоративные функции
internal function fadeOut(obj:*){...}
private function hideObject(event:Event):void {...}
}
}
Исходники доступны по адресам:
http://adrior.ru/flash/preloader-pro...impleLoader.as
http://adrior.ru/flash/preloader-problem/loadDemo.fla
Сталкивался ли кто-нибудь с такой проблемой?
Заранее спасибо за помощь!
P.S. Возможно, я не умею пользоваться поиском. Но такой темы на форуме мне найти не удалось. Хотя и просмотрел два десятка тем про прелоадеры.