самое справедливо для файлов, загруженных с сервера http://www.somesite.ru. Однако если файлы были загружены с серверов http://www.somesite.ru и http://somesite.ru, то они не смогут 'общаться' друг с другом на уровне сценариев.
Еще одно ограничение связано с протоколами
В предыдущей версии Flash (MX) описанные ограничения были непреодолимыми. Во Flash MX 2004 появилась возможность их преодолеть. Сейчас мы выясним, как это делается.
Пусть мы загрузили основной фильм с сервера http://www.somesite.ru. И пусть нам понадобилось загрузить с сервера http://somesite.ru внешний файл car.swf, поместить его на рабочий лист, а впоследствии иметь к нему доступ через сценарии. Для этого нам нужно будет использовать метод
System, security. allowDomain ('<Разрешенный
В качестве единственного параметра этого метода передается интернет-адрес Web-сервера, с которого разрешена загрузка внешних файлов. После этого все файлы, загруженные с этого сервера, доступны из текущего фильма через сценарии.
В нашем случае нам нужно поместить в первый кадр анимации файла car.swf такой сценарий:
System.security.allowDomain('http://www.somesite.ru');
после чего все сценарии основного фильма, обращающиеся к файлу car.swf, будут работать.
Если основной фильм был загружен по протоколу HTTP, а внешний файл car.swf — по протоколу HTTPS, нам следует использовать метод
System.security.allowInsecureDomain('https://secured.somesite.ru');
_root.placeholder.loadMovie('https://secured.somesite.ru/car.swf');
Осталось заметить, что все вышесказанное относится только к файлам Shockwave/Flash. Для файлов Macromedia Flash Video и MP3 все это неактуально, так как они не содержат ни объектов, ни функций, не переменных, к которым можно получить доступ.
Работа с внешними данными
Загрузка и отображение на рабочем листе содержимого внешних файлов — это только часть возможностей, предлагаемых Flash для общения с внешним электронным миром. Другая, весьма обширная, часть позволяет получать и обрабатывать данные, поставляемые так называемыми
Отправка данных серверной программе
Предположим, мы создали несколько полей ввода, собирающих данные от пользователя. Как теперь отправить эти данные серверной программе?
Прежде всего, их нужно поместить в переменные. Причем это должны быть переменные уровня клипа, т. е. не локальные и не глобальные. И еще: серверной программе отправляются сразу все данные, находящиеся во всех объявленных в клипе переменных. Так что нужно стараться не создавать лишних переменных уровня клипа.
Для посылки данных нам следует использовать уже изученные методы и действия, а именно:
?
?
?
Поскольку серверная программа — это обычный файл, находящийся на диске компьютера, на котором работает Web-сервер (как и Web-страница), формат вызова всех этих действий и методов не изменится. Есть, правда, единственное исключение, о котором мы сейчас поговорим.
Все перечисленные действия и методы поддерживают еще один необязательный параметр. Он передается самым последним в списке параметров, имеет строковый тип и определяет
Первый способ передачи данных называется get. При его использовании данные передаются Web- обозревателем Web-серверу как часть интернет-адреса. Чтобы передать данные этим способом, нам нужно будет передать с последним параметром описанным выше действиям и методам значение
Например, пусть у нас имеется набор переменных, содержащих имя и пароль пользователя в строковом формате (они могут быть, скажем, введены этим самым пользователем в поля ввода):
name1 = Ivan
name2 = Ivanov
password = vanyusha
Тогда, чтобы отправить серверной программе program.exe, находящейся по адресу http://www.site.ru/bin/, эти данные методом get, мы напишем такое выражение:
getURL('http://www.site.ru/bin/program.exe', '_blank', 'GET');
Обратим внимание на последний параметр этого метода. В нем передается строка