Установка Flash (AS3) переменной с помощью Javascript - PullRequest
1 голос
/ 05 декабря 2009

Как я могу установить переменную Flash (Actionscript 3), используя javascript?
Или можно вызвать функцию flash с параметрами из javascript?
Я пробовал document.getElementById('flash').SetVariable("data", "asdf");, но он работает только в AS2 и AS1.

Ответы [ 3 ]

2 голосов
/ 05 декабря 2009

Как сказала LiraNuna, вы должны использовать ExternalInterface для связи со вспышкой. Вот основы:

Шаг 1: Сделайте функцию во флэш-памяти, которая устанавливает переменную:

function setVar(value) {
    somevar = value;
}

Шаг 2: Используйте ExternalInterface для регистрации функции:

var connection = ExternalInterface.addCallback("someFunctionName", null, setVar);

Шаг 3: Вызовите свою функцию из Javascript, чтобы установить переменную:

var mySWF = document.getElementById("swfID");
mySWF.someFunctionName('some_value');

Если вы используете swfobject для встраивания вашего swf, другой гораздо более простой вариант - метод addVariable:

mySWF.addVariable("var_name", "value"); 
1 голос
/ 05 декабря 2009

SetVariable больше не используется на AS3 из-за ужесточения песочницы, но он не был полностью устранен, вы все равно можете заменить

SetVariable("varName","value")

К

FlashVars = "varName=value"

И получить к нему доступ через root.loaderInfo.parameters.varName.

Однако я бы предложил вместо этого использовать новый класс ExternalInterface, подробнее об этом здесь .

0 голосов
/ 05 декабря 2009

Вы можете посмотреть на использование faBridge. Подробности здесь: текст ссылки

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