Вызов ExternalInterface из флэш-памяти в объект ООП Javascript - PullRequest
2 голосов
/ 08 апреля 2011

Это моя проблема:

У меня есть этот класс в JavaScript:

var c = new MyClass();
c.myFunction();
c.myFunction2();
c.myFunction3();
//and so on...

Как я могу сослаться на это с ExternalInterface.call?

Я не могу сделать это: ExternalInterface.call("c.myFunction"));

Ответы [ 3 ]

4 голосов
/ 09 апреля 2011

Чтобы это работало, объект, который вы пытаетесь вызвать из Flash, должен иметь глобальную область видимости. Т.е. это не сработает:

// closure to keep vars out of global scope - generally a good thing!
(function() {
    var c;

    function MyClass() {
    }
    MyClass.prototype.myFunction = function() {
        alert('Do something!');
    }

    c = new MyClass();
})();

... meanwhile, in Flash ...

ExternalInterface.call("c.myFunction");

Вам нужна глобальная точка входа для объекта. Какие ошибки вы получаете, хотя? Вы получаете null обратно от звонка? Выдается какая-то конкретная ошибка?

3 голосов
/ 08 апреля 2011

Да, вы можете (сделать это: ExternalInterface.call ("c.myFunction")).

0 голосов
/ 11 апреля 2011

Опубликуйте его на сервере и вызовите HTML-страницу таким образом.
ExternalInterface имеет проблемы при запуске в файловой системе проекта Flex.
Наиболее вероятно, это проблема встраивания / кросс-домена.

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