В одном из классов в SWF-файле, который загружает второй SWF-файл, вы можете получить что-то вроде этого:
private var loader:Loader;
private var secondSWF:DisplayObject;
private function loadSecondSWF():void
{
loader = new Loader();
// You should also handle error events...
loader.loaderInfo.addEventListener(Event.COMPLETE, loader_completeHandler);
loader.load(new URLRequest('path/to/second/file.swf');
}
private function loader_completeHandler(event:Event):void
{
secondSWF = loader.content;
if (secondSWF.hasOwnProperty('xmlLoader1')
{
var xmlLoader:Loader = secondSWF[xmlLoader1];
// Call the methods you need on xmlLoader if it is not null
}
}
Чтобы это работало без лишних шагов, оба SWF-файла должны приходить из одного домена.
Если они находятся в разных доменах, вам нужно добавить файл crossdomain.xml
в корень домена, в котором находится второй SWF-файл, разрешив доступ из домена, в котором расположен первый SWF-файл. Вы также должны позвонить flash.system.Security.allowDomain('domain.where.first.swf.is.located');
со второго SWF. Без этих дополнительных шагов вы получите ошибки нарушения песочницы безопасности.