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

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

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

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
The bomb! Проблема с отображением подгружаемых в runtime шрифтов

Бьюсь над этим уже довольно долго, поэтому решил написать сюда т.к. собственные идеи иссякли. Я делаю приложение в котором пользователь может задавать шрифт текста выбирая его из комбобокса. Каждый шрифт подгружается в виде отдельной SWF, в которую он заэмбедден следующим образом:
Код AS3:
package
{
 
	import flash.display.MovieClip;
 
	public class Journal extends MovieClip
	{
		[Embed(source = "Journal/JournalC.otf", fontName="JournalC", fontStyle="normal", fontWeight="normal", mimeType="application/x-font", advancedAntiAliasing="true", embedAsCFF="false")]
		public var JournalC:Class;
 
		[Embed(source = "Journal/JournalC-Bold.otf", fontName="JournalC", fontStyle="normal", fontWeight="bold", mimeType="application/x-font", advancedAntiAliasing="true", embedAsCFF="false")]
		public var JournalCBold:Class;
 
		[Embed(source = "Journal/JournalC-Italic.otf", fontName="JournalC", fontStyle="italic", fontWeight="normal", mimeType="application/x-font", advancedAntiAliasing="true", embedAsCFF="false")]
		public var JournalCItalic:Class;
 
		public function Journal()
		{
			Font.registerFont (JournalC);
			Font.registerFont (JournalCBold);
			Font.registerFont (JournalCItalic);
 
		}
	}
 
}
В основной флешке шрифты загружаются следующим образом (стараюсь приводить только относящийся к делу код, а вообще там все сложно):
Код AS3:
fontsLoader = new Loader ();
			fontsLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, fontLoaded);
			fontsLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOERROR);
 
 
// это естественно в цикле
var path:String = Global.URL_PATH + Global.FONTS_PATH + fontsInfo.fonts.font[fontsCounter].lib.@src;
			fontsCounter++;
			fontsLoadedPathes.push(path);
			var context:LoaderContext = new LoaderContext();
			//context.securityDomain = SecurityDomain.currentDomain;  
			context.applicationDomain = ApplicationDomain.currentDomain;
			fontsLoader.load(new URLRequest(path), context);
 
//здесь обрабатывается событие загрузки
private function fontLoaded(ev:Event):void 
		{
			var target:LoaderInfo = ev.target as LoaderInfo;
			var mc:MovieClip = target.content as MovieClip;
			fonts.push(mc);
			addChild(mc);
		}
Теперь описание проблемы. Никаких ошибок не выкидывается, но при локальном запуске флешки на моем компьютере - шрифты не меняются, при выборе шрифта из комбобокса текст изчезает.
Загружаю флешку на сервер (тот же домен, где лежат и SWFки со шрифтами), запускаю флешку с сайта - все работает, НО ТОЛЬКО НА МОЕЙ МАШИНЕ!!
Если же зайти на сайт с любого другого компа, текст при переключении шрифта пропадает.
Сперва я подумал. что это проблемы с безопасностью, песочницами, ApplicationDomain и тому подобным. Но вдумчивое изучение доков на эту тему ничего не дало, ведь все грузится с одного домена.
Буду благодарен за помощь, если кому то нужна ссылка на приложение, дам в личку.

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

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

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


 


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


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