Московский физико-технический институт
Опубликован: 23.12.2005 | Доступ: свободный | Студентов: 2868 / 252 | Оценка: 4.61 / 4.44 | Длительность: 27:18:00
ISBN: 978-5-9556-0051-2
Лекция 14:

Работа флэш-программ в Internet

Shared Objects

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

Для решения такой задачи во Flash MX есть специальная технология - Shared Objects. Она работает примерно так же, как cookie: флэш-ролику предоставляется объект, который затем сохраняется на локальном диске, и который можно запросить при следующем запуске флэш-ролика.

Рассмотрим использование Shared Objects на примере флэш-ролика, имеющего текстовое поле, содержимое которого можно редактировать; мы сделаем так, чтобы это содержимое автоматически сохранялось между запусками ролика.

Считаем, что у нас на сцену помещено текстовое поле ввода, которое называется ' txt '.

Поместим в первый кадр такой код:

txt.onChanged = function () {
//обработчик изменения текста в текстовом поле
var obj = SharedObject.getLocal("savedObject");
// получаем хранимый объект с именем "savedObject"
obj.data.text = txt.text;
// сохраняем в его поле data нужные нам свойства (это
// специальное поле, и только оно сохраняется на диске)
obj.flush(); //записываем объект на диск
}
obj = SharedObject.getLocal("savedObject");
// при каждой загрузке ролика получаем объект, и если в нем
// сохранен текст, записываем его в текстовое поле.
if (obj.data.text != undefined) {
   txt.text = obj.data.text;
}

Запустив эту программу увидим, что содержимое текстового поля действительно сохраняется. Обратите внимание, что метод SharedObject.getLocal в одном случае создал нам новый сохраняемый объект, а в другом (когда объект с запрошенным именем нашелся в хранилище) - выдал уже имеющийся.