Local Shared Object :: Хранение данных на стороне клиента
 

Local SharedObject (LSO) подойдет для хранения данных клиента на его машине; сервер разгружается и освобождается от хранения избыточной информации. Сохранение информации происходит мгновенно. LSO поддерживается Flash Player c версии 6.0.40.0; не описан в стандартной документации по Flash. Компания Macromedia дала своим поклонникам действительно мощный инструмент, но не рассказала об этом в документации.

LSO хранит информацию на машине клиента так же, как это делают cookies — создавая в разрешенном месте файл разрешенного размера.

Создание Local SharedObject с именем "theFlashCookie"
theLocalSharedObject = sharedobject.getLocal("theFlashCookie");

Сохранение значения "userName" в свойстве "name" объекта 'theFlashCookie'
theLocalSharedObject.data.userName = userName;

Получение значения свойства "name"
userName = theLocalSharedObject.data.userName;

Этого достаточно, чтобы забыть об отсылке переменных на сервер, связанном с этим ожиданием ответа и прочих проблемах клиент-серверных отношений.

Можно запоминать языковые настройки, смещение часового пояса, пароль и другие личные настройки пользователей, можно хранить информацию о пройденных уровнях онлайн-игры на машине игрока, сохраняя данные в разных LSO или в разных свойствах одного и того же LSO.

Максимум пользы Local SharedObject приносит в случаях, когда работа с сервером нежелательна или невозможна.

//Создание Local SharedObject с именем 'theFlashCookie'
theLocalSharedObject = sharedobject.getLocal("theFlashCookie");
bt_setLocalData.onRelease = setLocalData;
bt_getLocalData.onRelease = getLocalData;
bt_resetCounter.onRelease = resetVisitCounter;
getLocalData();
stop();

 

//Сохранение значения 'name' в свойстве 'name' объекта 'theFlashCookie'
function setLocalData () {
theLocalSharedObject.data.name = name.text;
}

//Получение значения свойства 'name'
function getLocalData () {
name_.text = theLocalSharedObject.data.name;
numOfVisits.text = theLocalSharedObject.data.visitCounter;
}

//За один визит увеличивает показания счетчика на единицу
function setVisitCounter () {
theLocalSharedObject.data.visitCounter++;
}

//Cбрасывает показания счетчика
function resetVisitCounter () {
theLocalSharedObject.data.visitCounter = 0;
getLocalData();
}

 
Автор: Flashguru
 
Оригинал статьи: http://woweb.ru/publ/3-1-0-259