2011-01-18 1 views
0

Hi Я немного застрял здесь последние несколько дней. У меня есть SWF, работающий в изолированной программной среде Security.LOCAL_TRUSTED.Объект Loader не запускает событие завершения после загрузки внешнего файла css/swf

я могу загрузить мои JPEGs и простой СФБ без каких-либо проблем

var loader:Loader = new Loader(); 
loader.load(new URLRequest('file:///test.jpg')); 

Но однажды, я успешно Загрузите SWF создано из CSS (например myfont.swf) файл с помощью Flash Builder 4 (компилировать CSS к SWF), то я не могу загрузить изображения или SWF снова, как раньше.

События процесса запускаются и выглядят как их загрузка, но полное событие никогда не срабатывает. Также не возникает никаких других предупреждений IOError или Security.

Может ли загруженный SWF (myfont.swf) изменить песочницу загрузки swf? Или что мне здесь не хватает.

CSS для myfont.swf

/* CSS file */ 
@namespace s "library://ns.adobe.com/flex/spark"; 
@namespace mx "library://ns.adobe.com/flex/mx"; 


@font-face { 
    src: url("../assets/fonts/Arial.ttf"); 
    fontFamily: "Arial"; 
    embedAsCFF: true; 
    unicodeRange: 
     U+0000-U+007F, 
     U+00A0-U+00FF, 
     U+2000-U+206F, 
     U+20A0-U+20CF; 
} 

@font-face { 
    src: url("../assets/fonts/Arial Bold.ttf"); 
    fontFamily: "Arial"; 
    fontWeight: "bold"; 
    embedAsCFF: true; 
    unicodeRange: 
     U+0000-U+007F, 
     U+00A0-U+00FF, 
     U+2000-U+206F, 
     U+20A0-U+20CF; 
} 

ответ

0

Хорошо, я решил это, как никогда я не понимаю, почему совсем.

Файлы css/swf Я загружал файлы не в том же каталоге, что и основной SWF-файл.

сейчас, когда я загружаю свой шрифт через файл: //./fonts/arial.swf все работает.

Если когда-нибудь кто-то застрянет; Похоже, что местоположение загруженного файла имеет значение.

Есть идеи, почему это так?

+0

Тогда это проблема с перекрестной загрузкой, попробуйте к google он или смотрите здесь: http://kb2.adobe.com/cps/142/tn_14213.html –

0

Попробуйте это: сделать свой загрузчик переменной класса, а не локальной переменной. Сборщик мусора уничтожает его до загрузки файла.

Таким образом, в теле класса:

private var loader:Loader; 

и позже в вашем методе:

loader = new Loader(); 
+0

К сожалению, это не так :(Работает так, как ожидалось, до тех пор, пока я не загружу SWF-файл, созданный из CSV. Поэтому я знаю, что код работает в самом начале. – butterbrot

 Смежные вопросы

  • Нет связанных вопросов^_^