Выбрать главу

С помощью функции getURL() можно также посылать переменные удаленным приложениям или сценариям на сервере. Чтобы передать переменные текущей временной диаграммы во внешний сценарий, нужно указать имя сценария в качестве аргумента URL и задать "GET" или "POST" в качестве значения аргумента method:

getURL("http://spravkaweb.ru/php.php", "_blank", "GET");

При вызове в качестве метода клипа getURL() посылает переменные временной диаграммы этого клипа:

// Передает переменные myClip в example.phpmyClip.getURL("http://spravkaweb.ru/example.php", "_blank", "GET");

Результаты выполнения сценария появятся в окне или фрейме, указанных в аргументе window (который необходимо задавать при передаче переменных).

Чтобы загрузить результаты выполнения сценария в текущие фрейм или окно, нужно задать в качестве аргумента window значение "_self":

getURL("http://spravkaweb.ru/", "_self", "GET");

Если значением аргумента method является "GET", переменные временной диаграммы текущего клипа посылаются в виде строки запроса, присоединенной к URL сценария в запросе HTTP GET. Строки запросов состоят из пар имя/значение, разделяемых амперандами (&):

getURL("http://www.mysite.ru/example.php?ss=2&pl=34", "_self");

Если аргумент method содержит "POST", переменные временной диаграммы текущего клипа посылаются сценарию в виде отдельного блока данных после заголовка запроса HTTP POST (так же, как в обычной форме HTML, использующей метод POST). Обратите внимание, что "POST" недоступен в автономном Flash Player.

Поскольку для большинства веб-серверов максимальная допустимая длина URL лежит между 255 и 1024 символами, при передаче больших объемов данных используйте "POST", а не "GET".

Надо отметить, что любые данные, возвращаемые сценарием, который вызван getURL(), выводятся как обычное веб-содержание в браузере, а не во Flash. Чтобы получить результаты выполнения сценария во Flash, используйте loadVariables().

Функция getURL() может применяться и с другими протоколами помимо "http:".

Протоколы, поддерживаемые getURL

Как показывает вышеприведенная таблица, если принадлежность Flash импортируется в файл Macromedia Director, с помощью getURL() можно генерировать события Lingo или выполнять команды Lingo. (Lingo - это язык сценариев в Director, аналогичный ActionScript).

Например, можно добавить событие кадра такого вида:

getURL("event: eventName params");

что приведет к вызову в Director обработчика события Lingo с именем on eventName.Вот команда getURL(), генерирующая событие с именем "myEvent" и передающая ему строку "A". Обратите внимание на преобразование символа с помощью:

// Отправить событие в DirectorgetURL("event: myEvent "A"");

Вот обработчик события Lingo sprite, который должен быть прикреплен к спрайту Flash в Director, чтобы получить событие. Заметим, что спрайт в Director примерно соответствует экземпляру клипа во Flash; ключевое слово Lingo put родственно команде ActionScript trace(), а && в Lingo является оператором конкатенации строк:

on myEvent msgput "The message received from Flash was " && msgend

Можно также спровоцировать запуск Lingo из спрайта Flash в Director с помощью ключевого слова "lingo:":

// Пусть Director даст звуковой сигналgetURL("lingo: beep");

Наконец, с помощью getURL() можно выполнять код JavaScript.Вызовем простую функцию alter JavaScript с помощью getURL():

getURL("javascript: alter("Hello world");");

Примеры:

Далее приведен стандартный код кнопки со ссылкой на веб-страницу:

on(release) {getURL("http://www.spravkaweb.ru/");}

Совместимость:

Используется со 2-ей версии Flash. В 4-ой версии усилена добавлением параметра method.

fscommand - Передача данных браузеру

fscommand

(Глобальная функция)

Позволяет отправить данные программе, которая запустила данный клип

Синтаксис:

fscommand(command, arguments)

Аргументы:

Описание:

С помощью функции fscommand(), фильм Flash может связываться с автономным проигрывателем или приложением-хозяином проигрывателя:средой, в которой выполняется Flash Player (веб-браузером или Macromedia Director).

Функция fscommand() обычно используется одним из трех способов:

При использовании с автономным плеером fscommand() принимает одну из встроенных пар команда/аргумент, как показано в следующей таблице:

Пары команда/аргумент в автономном проигрывателе

При использовании в браузере функция 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":

<EMBEDNAME="testmoviequot;SRC="myMovie.swf"WIDTH="100%"HEIGHT="100%"swLiveConnect="true"PLUGINSPAGE="http://www.macromedia.com/go/flashplayer/"></EMBED>

Связь с браузером через fscommand() невозможна в следующих конфигурациях системы:

Стоит отметить, что 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: