Интеграция 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. (запущен прожектор)

Команда Аргументы Результат

quit

Нет

Закрывает прожектор.

fullscreen

true или false

Если true, то прожектор разворачивается на полный экран Если false, то прожектор сворачивается обратно к стандартному размеру.

allowscale

true или false

Если false, то прожектор воспроизводит ролик всегда в стандартном размере и не изменяет его масштаб. Если true, то прожектор будет проигрывать ролик в масштабе 100% от своего собственного размера.

showmenu

true или false

Если true, то в контекстном меню отображаются все пункты. Если false, то убираются все пункты меню, кроме "About Flash Player".

exec

Путь к приложению

Выполняет приложение внутри прожектора.
Для вызова исполнимых файлов с параметром, например
file.exe /s -e
нужно войти в "expert mode" и заменить все пробелы в выражении табуляцией (кнопка TAB :)

Чтобы использовать 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.