Еще одно ограничение связано с протоколами HTTP 1 (HyperText Transport Protocol, транспортный протокол передачи гипертекста) и HTTPS2 (HyperText Transport Protocol Secured, защищенный транспортный протокол передачи гипертекста). (Протокол - это набор правил, согласно которым программы обмениваются данными по сети.) Если основной фильм был загружен по протоколу HTTP, а внешний - по протоколу HTTPS (или наоборот), то они не смогут получить доступ друг к другу через сценарии.

В предыдущей версии Flash (MX) описанные ограничения были непреодолимыми. Во Flash MX 2004 появилась возможность их преодолеть. Сейчас мы выясним, как это делается.

Пусть мы загрузили основной фильм с сервера http://www.somesite.ru. И пусть нам понадобилось загрузить с сервера http://somesite.ru внешний файл car.swf, поместить его на рабочий лист, а впоследствии иметь к нему доступ через сценарии. Для этого нам нужно будет использовать метод aiiowDomain объекта security, находящегося в объекте System. Формат его вызова таков: System.security.aiiowDomain("<Разрешенный интернет-адрео"); В качестве единственного параметра этого метода передается интернет-адрес Web-cepeepa, с которого разрешена загрузка внешних файлов. После этого все файлы, загруженные с этого сервера, доступны из текущего фильма через сценарии.

В нашем случае нам нужно поместить в первый кадр анимации файла car.swf такой сценарий:

System.security.aiiowDomain("http://www.somes ite.ru"); после чего все сценарии основного фильма, обращающиеся к файлу car.swf, будут работать.

Если основной фильм был загружен по протоколу HTTP, а внешний файл car.swf - по протоколу HTTPS, нам следует использовать метод aiiowinsecureDomain того же объекта. Формат вызова этого метода совпадает с форматом вызова метода aiiowDomain. А код необходимого сценария должен быть таким:

System.security.aiiowinsecureDomain("https://secured.somesite.ru");

_root.placeholder.loadMovie("https://secured.somesite.ru/car.swf"); Осталось заметить, что все вышесказанное относится только к файлам Shockwave/Flash. Для файлов Macromedia Flash Video и MP3 все это неактуально, так как они не содержат ни объектов, ни функций, не переменных, к которым можно получить доступ.

Работа с внешними данными

Загрузка и отображение на рабочем листе содержимого внешних файлов - это только часть возможностей, предлагаемых Flash для общения с внешним электронным миром. Другая, весьма обширная, часть позволяет получать и обрабатывать данные, поставляемые так называемыми серверными программами - программами, работающими совместно с Web-сервером. Сейчас мы об этом поговорим.

Отправка данных серверной программе

Предположим, мы создали несколько полей ввода, собирающих данные от пользователя. Как теперь отправить эти данные серверной программе?

Прежде всего, их нужно поместить в переменные. Причем это должны быть переменные уровня клипа, т. е. не локальные и не глобальные. И еще: серверной программе отправляются сразу все данные, находящиеся во всех объявленных в клипе переменных. Так что нужно стараться не создавать лишних переменных уровня клипа.


⇐ вернуться назад | | далее ⇒