Как вызвать функцию, которая объявлена ​​в основной SWF из загруженного скрипта .as? - PullRequest
0 голосов
/ 18 февраля 2011

У меня есть две функции, объявленные на временной шкале моего .fla; xmlLoader1 и randomNumber .

Теперь мне нужно выполнить эту команду: xmlLoader1.load(new URLRequest("http://67.23.233.236/~champate/djsoftlayer/reporte/estado.php?playa=489&nocache="+randomNumber())); из загруженного скрипта .as, но в качестве логики компилятор дал мнеошибка, потому что эти функции не существуют в .as.

Итак, как я могу изменить команду, чтобы сообщить .ascript, кому нужно искать эти функции в .fla ???Спасибо!

Ответы [ 2 ]

0 голосов
/ 28 декабря 2011

В одном из классов в 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. Без этих дополнительных шагов вы получите ошибки нарушения песочницы безопасности.

0 голосов
/ 18 февраля 2011

Ну, если вы объявили xmlLoader1 как функцию, это не сработает! Это должно быть исправление правильного типа загрузчика (URLLoader / Loader [для SWF или изображения (JPG, PNG или GIF)]).

и ваша функция randomNumber должна возвращать строку (а не число).

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...