Я работаю над сайтом, построенным на Flex, но SWF-файл после компиляции очень большой.Веб-сайты имеют несколько страниц.
Поэтому я подумал создать новый проект MXML для каждой новой страницы и загрузить его с помощью SWFLoader.
Я нашел этот пример:
public function extSwfLoaded(evt:Event):void {
var sysmgr:SystemManager = (extSwf.content as SystemManager);
sysmgr.addEventListener(FlexEvent.APPLICATION_COMPLETE, function(event:FlexEvent):void {
var sysmgr:SystemManager = (event.currentTarget as SystemManager);
var swfApp:Application = (sysmgr.application as Application);
}
});
public function gotoPage(page:String):void {
extSwf.addEventListener(Event.INIT, extSwfLoaded);
var now:Date = new Date();
switch(page) {
case "register":
openedPage = "register";
extSwf.load('modules/register.swf?anticache=' + now.getTime());
break;
}
}
А в MXML:
<mx:SWFLoader id="extSwf" complete="extSwfLoaded(event)" width="100%" />
<s:Label text="Register" useHandCursor="true" buttonMode="true" click="gotoPage('register')" />
Это прекрасно работает.Содержимое модуля / register.swf показывается на месте extSwf SWFLoader.
Но : я понятия не имею, как взаимодействовать с 'main'SWF и загруженный SWF-файл.
У меня есть несколько глобальных переменных, которые я хочу отправить в каждый загруженный SWF-файл
(и некоторые переменные, которые я хочу отправить из загруженного SWF-файла в' main ''SWF-файл).
Сайт сказал, что я могу отправить эти переменные, загрузив modules / register.swf? Var1 = hi & var2 = hello , но кто-то, кто может видеть заголовки HTTP (дляпример с Live HTTP Headers * (1024 * в Firefox) может видеть все эти переменные.
Итак, возможно ли загрузить SWF-файл и отправить им некоторые переменные?И когда у меня есть новая глобальная переменная, мне не нужно открывать, редактировать и перекомпилировать каждый проект MXML?
Большое спасибо!