Интеграция Flash с веб-приложениями > Отсылка и прием сообщений Flash Player'ом. > Использование fscommand и взаимодействие Flash c JavaScript
Использование fscommand и взаимодействие Flash c JavaScript.
Использование команды fscommand
позволяет послать сообщение к среде окружения Flash фильма. В случае исполнимых (.exe для PS и .hqx для MAC) файлов созданных во Flash (обычно их называют прожекторами) средой окружения является операционная система, а в случае .swf файлов вставленных в HTML страницу, средой окружения является Ява-Скрипт. И если применение действия fscommand
в прожекторах вполне оправданно (ему просто нет альтернативы), то использование fscommand
для общения с яваскриптом является не более, чем никому не нужным пережитком прошлого, который Макромедия использует по инерции еще со времен Flash2 и делает вид что не замечает существования более простой и функциональной альтернативы - прямого вызова яваскрипта через команду GetURL
. Команда fscommand
имеет два параметра: command
и arguments
. При посылке сообщений из прожектора, можно использовать только несколько предопределенных значений параметра command
. Кроме того, все значения параметра arguments
(кроме случая использования command
"exec") тоже предопределены. Например, после нажатия кнопки, следующая команда разворачивает окошко прожектора на полный экран:
on(release){ fscommand("fullscreen", "true"); }
В таблице указаны значения, которые вы можете использовать в качестве параметров команды fscommand
для управления воспроизведением клипа в автономном Flash Player. (запущен прожектор)
Команда | Аргументы | Результат |
---|---|---|
|
Нет |
Закрывает прожектор. |
|
|
Если |
|
|
Если |
|
|
Если |
|
Путь к приложению |
Выполняет приложение внутри прожектора.
|
Чтобы использовать fscommand
для передачи сообщения скриптовому языку в броузере, например JavaScript, вы можете передать два любых аргумента в параметрах Command
и arguments
. Это могут быть строки или выражения, они будут использоваться в JavaScript функции, в которой находится команда fscommand
.
Команда fscommand
вызывает JavaScript-функцию moviename_DoFSCommand
в HTML странице которая включает ролик, где moviename
это имя ролика. Если Flash Player назначен имени myMovie
, вызванная JavaScript функция будет myMovie_DoFSCommand
.
Чтобы использовать команду fscommand
для открытия окна сообщения между роликом и HTML страницей через JavaScript, надо:
1 | На HTML странице, которая содержит ролик добавить следующий JavaScript-код: |
function theMovie_DoFSCommand(command, args) { if (command == "messagebox") { alert(args); } } |
|
Если вы публикуете ваш ролик, используя Flash с FSCommand-шаблоном, то этот код вставляется автоматически. Имя ролика и ID атрибуты будут именем файла. Например, для файла myMovie.fla, атрибуты будут установлены в myMovie. Для дополнительной информации смотрите Help к Программе Flash. |
|
2 | В ролике, добавьте команду fscommand кнопке: |
fscommand("messagebox", "This is a message box invoked from within Flash.") |
|
Вы также можете использовать выражения в качестве параметров команды fscommand , например: |
|
fscommand("messagebox", "Hello, " & name & ", welcome to our Web site!") |
|
3 | Выберите File > Publish Preview > HTML чтобы протестировать ролик. |
![]() |
Команда fscommand
также может посылать сообщения программе Macromedia Director, которые представлены как строки, события или выполнимый lingo-код. Если сообщение является строкой или событием, вы должны написать Lingo-код для получения указаний из команды fscommand
и выполнения их. Для дополнительной информации смотрите сайт Direct Support Center.
В Visual Basic, Visual C++ и других программах, которые используют ActiveX, fscommand
посылает VB-событие в виде двух строк и оно может быть обработано этими языками программирования. Для дополнительной информации смотрите сайт Flash Support Center.