С помощью функции 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: