
27.08.2004, 21:38
|
|
Регистрация: Jul 2004
Сообщений: 29
|
Механизм проверки перезагрузки страницы (f5)
Друзья, подскажите пожалуйста, что я делаю не так?
Идея: создать механизм проверки, была ли страница случайно перезагружена, или пользователь заходил на нее давно.
Способ: используя SharedObject.
Применение: в flash-игре, интенсивно получающей данные с сервера. Желательно отслеживать - если пользователь нажимает F5 и перезагружает страницу, флэш вероятнее всего грузится из кэша, а все необходимые для работы данные брать из последней сессии сохранения SharedObject (она, как я понимаю, должна автоматически произойти при выгрузке фильма из браузера).
Проблема в том, что код не работает. И не работает именно при нажатии кнопки F5. Если же принудительно закрыть/открыть страницу - все ОК, при перезагрузке - увы...
Неужели flash не сохраняет sharedobject при этом?
testInfo_so = SharedObject.getLocal("data");
var time = new Date();
if ((testInfo_so.data.avtomatData != undefined) && ((time.getTime()-testInfo_so.data.avtomatData)<2000)) {
outputText.text = "Произошла перезагрузка";
} else {
outputText.text = "Пользователь зашел впервые, или посещал сайт давно.";
}
setInterval(proverka, 1000);
function proverka() {
var now = new Date();
testInfo_so.data.avtomatData = now.getTime();
}
Как быть? В голову ничего кроме flush() в обработчике onEnterFrame не приходит - но это же не выход!
Может быть есть какие-либо способы?
|