Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.02.2010, 22:09
Adrior вне форума Посмотреть профиль Отправить личное сообщение для Adrior Найти все сообщения от Adrior
  № 1  
Ответить с цитированием
Adrior

Регистрация: Feb 2010
Сообщений: 5
Question Проблемы с прелоадером в Fierfox

Наткнулся на забавную проблему с работой прелоадера в 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. Возможно, я не умею пользоваться поиском. Но такой темы на форуме мне найти не удалось. Хотя и просмотрел два десятка тем про прелоадеры.

Старый 02.03.2010, 14:02
bublic_bicubic вне форума Посмотреть профиль Отправить личное сообщение для bublic_bicubic Найти все сообщения от bublic_bicubic
  № 2  
Ответить с цитированием
bublic_bicubic
 
Аватар для bublic_bicubic

Регистрация: Mar 2010
Сообщений: 48
Код AS3:
// ...
 
public function SimpleLoader() {
	stop();
	if (loaderInfo.bytesLoaded == loaderInfo.bytesTotal) {
		onLoadComplete();
	} else {
		this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, preloaderStatistics);
		this.loaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
	}
}
 
private function onLoadComplete(e:Event = null):void {
	gotoAndStop(2);
	fadeOut(curtain);
}
 
//...

Создать новую тему Ответ Часовой пояс GMT +4, время: 18:40.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
firefox , preloader , прелоадер , файерфокс
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 18:40.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.