Справочник по Flash : ActionScript : Action : fscommand - Передача данных браузеру
Материал из Справочник Web-языков.
| Главная | ::. | Flash | ::. | ActionScript | ::. | Action | ::. | fscommand - Передача данных браузеру |
[править] fscommand
(Глобальная функция)
Позволяет отправить данные программе, которая запустила данный клип
[править] Синтаксис:
fscommand(command, arguments)
[править] Аргументы:
- command
- Строка, передаваемая приложению-хозяину, часто имя функции JavaScript;
- arguments
- Строка, передаваемая приложению-хозяину, часто аргумент для функции, указанной в command.
[править] Описание:
С помощью функции fscommand(), фильм Flash может связываться с автономным проигрывателем или приложением-хозяином проигрывателя: средой, в которой выполняется Flash Player (веб-браузером или Macromedia Director).
Функция fscommand() обычно используется одним из трех способов:
- Для отправки одной из немногочисленных встроенных команд автономному проигрывателю Flash
- Для отправки команд языку сценариев веб-браузера, например, JavaScript или VBScript
- Для связи с Lingo в фильме Macromedia Director
При использовании с автономным плеером fscommand() принимает одну из встроенных пар команда/аргумент, как показано в следующей таблице:
Пары команда/аргумент в автономном проигрывателе
| Команда | Аргумент | Описание |
| "allowscale" | "true" или "false" | В случае "false" предотвращает увеличение или сжатие содержимого фильма в зависимости от размера окна проигрывателя. "allowscale" часто используют в сочетании с "fullscreen", чтобы создать Projector, занимающий весь экран при сохранении исходного размера фильма. |
| "exec" | "application_name" | Запускает внешнее приложение. Путь к приложению задается в строке application_name. Путь разрешается относительно фильма Flash, если только application_name не задано как абсолютный тип, например: "C:/WINDOWS/NOTEPAD.EXE". Обратите внимание, что в пути используется прямая косая черта (/), а не обратная (). |
| "fullscreen" | "true" или "false" | В случае "true" включает максимизацию окна проигрывателя, которое занимает весь экран пользователя. |
| "quit" | "н/а" | Закрывает фильм и выходит из проектора Flash (автономный проигрыватель). |
| "showmenu" | "true" или "false" | В случае "false" подавляет вывод управляющих элементов в контекстном меню проигрывателя, оставляя только опцию About Macromedia Flash Player. |
| "trapallkeys" | "true" или "false" | В случае "true" все нажатия клавиш - даже клавиш сокращенного набора - посылаются фильму Flash. trapallkeys используется для отключения управляющих клавиш в автономном проигрывателе (например, Ctrl-F для полноэкранного режима, Ctrl-Q для завершения работы, Esc для режима Stop/exit Full Screen mode и т.д.) |
При использовании в браузере функция fscommand() в фильме влечет вызов специальной функции JavaScript (Netscape) или VBScript (Internet Explorer) на странице, содержащей фильм. Имя этой специальной функции имеет общий вид movieID_DoFSCommand, где movieID является именем, указанным в атрибуте фильма OBJECT ID (Internet Explorer) или атрибутом EMBED NAME (Netscape) в содержащем фильм документе HTML. При вызове movieID_DoFSCommand() значения параметров fscommand() command и arguments передаются в качестве аргументов функции movieID_DoFSCommand(). Если на содержащей фильм странице не существует функции movieID_DoFSCommand(), происходит отказ функции fscommand() без каких-либо сообщений.
Обратите внимание, что для работы fscommand() с Netscape атрибут swLiveConnect тега фильма EMBED должен быть задан как "true":
<EMBED NAME="testmoviequot; SRC="myMovie.swf" WIDTH="100%" HEIGHT="100%" swLiveConnect="true" PLUGINSPAGE="http://www.macromedia.com/go/flashplayer/"> </EMBED>
Связь с браузером через fscommand() невозможна в следующих конфигурациях системы:
- Internet Explorer под Macintosh OS
- Любой браузер на Macintosh серии 68К
- Любой браузер под Windows 3.1
- Netscape 6
Стоит отметить, что fscommand() не всегда дает лучший способ связи с фильмом Director из Flash. Предпочтительным средством коммуникации с Director является функция getURL() с протоколом event: или lingo:.
[править] Примеры:
Чтобы выйти из автономного проектора, используйте такой код:
fscommand("quit");
Чтобы создать автономный проектор, выполняемый в полноэкранном режиме:
fscommand("fullscreen", "true");
Чтобы создать автономный проектор, выполняемый в полноэкранном режиме, но сохраняющий размер исходного фильма:
fscommand("fullscreen", "true");
fscommand("allowscale", "false");
Для запуска Notepad на большинстве систем Windows можно использовать:
fscommand("exec", "C:/WINDOWS/NOTEPAD.EXE");
В следующем коде показана страница HTML с командами JavaScript и VBScript, необходимыми для ответа на простой вызов fscommand() в фильме. Обратите внимание, что функция VBScript просто вызывает функцию JavaScript - это позволяет работать как в Internet Explorer, так и в Netscape с помощью одной функции JavaScript:
<HTML>
<HEAD>
<TITLE>fscommand demo</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function testmovie_DoFSCommand(command, args) {
alert("Здесь данные из Flash: "+command+", "+args);
}
//-->
</SCRIPT>
<SCRIPT LANGUAGE="VBScript">
<!--
Sub testmovieFSCommand(ByVal command, ByVal args)
call testmovie_DoFSCommand(command, args)
end sub
//-->
</SCRIPT>
</HEAD>
<BODY>
<OBJECT
ID="testmovie"
CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
WIDTH="100%"
HEIGHT="100%"
CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">
<PARAM NAME="MOVIE" VALUE="flash-to-javascript.swf">
<EMBED
NAME="testmovie"
SRC="flash-to-javascript.swf"
WIDTH="100%"
HEIGHT="100%"
swLiveConnect="true"
PLUGINSPACE="http://www.macromedia.com/go/flashplayer/"
</EMBED>
</OBJECT>
</BODY>
</HTML>
Чтобы вызвать предшествующую функцию JavaScript testmovie_DoFSCommand() из фильма flash-to-javascript.swf, можно использовать:
fscommand("hello", "world");
[править] Совместимость:
Используется с 4-ой версии Flash
