Справочник по Flash | страница 30



, является обычным текстовым файлом, содержащим переменные в кодировке URL, как показано выше. Для загрузки переменных из внешнего текстового файла путь к файлу указывается как аргумент URL в вызове функции loadVariables().

Пример: Загрузка переменных в главную временную диаграмму.

// Загрузить переменные из myVar.txt// в главную временную диаграмму фильмаloadVariables("myVar.txt", "_root");

loadVariables() также можно использовать со сценарием или приложением сервера, выводящим переменные в кодировке URL. Когда сценарий посылает переменные в фильм Flash в ответ на вызов функции loadVariables(), он должен задать MIME-тип данных как "application/x-www-urlform-encoded".

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

Если method задан как "GET", переменные передаются как строка запроса в URL сценария.

Если method установлен как "POST", переменные посылаются после заголовка HTTP POST.

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

Из соображений безопасности loadVariables() действует только с хостами домена, из которого был загружен фильм. Правила, которым подчиняется loadVariables(), перечислены в следующей таблице.

Эти меры безопасности оказывают воздействие только на подключаемые модули и на элементы ActiveX браузера Flash Player; автономный проигрыватель может загружать переменные из любого домена.

Ограничения на домены являются умышленной защитной функцией во Flash, но их можно обойти с помощью прокси-сценария, выполняемого на сайте X, действующего как посредник между Flash и сайтом Y, или псевдонима DNS на сайте X, который указывает на сайт Y. Дополнительную информацию по данному вопросу можно получить по адресу: http://www.macromedia.com/support/flash/ts/documents/loadvars_security.htm.

Результаты многократных обращений loadVariables() по одному и тому же URL сценария могут некоторыми браузерами кэшироваться, в результате чего новые данные с сервера не загружаются. Чтобы избежать этой проблемы, добавляйте в каждый вызов loadVariables() фиктивную переменную, чтобы URL оказался уникальным.