Отправьте массив от Flash (AS3) к JavaScript

Последние образцы дизайна имеют тенденцию быть таким большим количеством змеиного масла. Как было сказано ранее в этом вопросе, чрезмерное использование шаблонов проектирования может нанести гораздо больший вред дизайну, чем помочь ему.

Если я услышу еще одного человека, который скажет, что «все должны использовать МОК» (или какую-то похожую кучу какашки), я думаю, что я буду вынужден выследить их и научить их ошибочному поведению.

8
задан Josh 29 June 2009 в 14:20
поделиться

3 ответа

В дополнение к предложению использовать JSON, это должно быть быстрее для небольших массивов и не потребует использования eval или внешней библиотеки для синтаксического анализа. Присоединитесь к массиву в строке, подобной этой во flash:

item1 | item2 | item3 | item4

Передайте строку в JS и снова разделите ее с помощью split ("|")

7
ответ дан 5 December 2019 в 08:00
поделиться

Да, это возможно.

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html#call ()

.. . arguments - аргументы для передачи к функции в контейнере. Вы можно указать ноль или более параметров, разделяя их запятыми. Они могут быть любого типа данных ActionScript. когда это вызов функции JavaScript, типы ActionScript автоматически конвертируется в Типы JavaScript; когда зовут какой-то другой контейнер ActiveX, параметры закодированы в запросе сообщение.

Быстрый тест:

Код AS:

if(ExternalInterface.available) {
    ExternalInterface.call("jsTest", [0,1,"two",{a:1,b:2}]);
}

Код JS:

function jsTest(arg) {
    alert(arg);
}
8
ответ дан 5 December 2019 в 08:00
поделиться

Вы всегда можете создать объект JSON и передать его в JavaScript.

6
ответ дан 5 December 2019 в 08:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: