Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.10.2011, 00:31
linnard вне форума Посмотреть профиль Отправить личное сообщение для linnard Найти все сообщения от linnard
  № 1  
Ответить с цитированием
linnard

Регистрация: Oct 2010
Сообщений: 53
По умолчанию Как отследить закрытие окна или вкладки браузера?

Существует ли событие в flash builder 4.5 которое перед закрытием окна или вкладки браузера вызывает окно подтверждения выхода из страницы? Например, когда приложение загружается, в базу данных записывается уникальный id пользователя. А когда пользователь закрывает браузер, id нужно удалить из базы.

Старый 20.10.2011, 00:47
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
js по идее.
А ид удалять по умиранию сессии.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 20.10.2011, 00:54
linnard вне форума Посмотреть профиль Отправить личное сообщение для linnard Найти все сообщения от linnard
  № 3  
Ответить с цитированием
linnard

Регистрация: Oct 2010
Сообщений: 53
Цитата:
Сообщение от GBee Посмотреть сообщение
js по идее.
А ид удалять по умиранию сессии.
С добавлением все в порядке. А как тогда отследить умирание сессии?

Старый 20.10.2011, 01:27
Dimitry_II вне форума Посмотреть профиль Отправить личное сообщение для Dimitry_II Найти все сообщения от Dimitry_II
  № 4  
Ответить с цитированием
Dimitry_II

Регистрация: Jan 2010
Сообщений: 211
Слушатель сессий на сервере. Одно "но": обычно сессия устанавливается по дефолту на приличное время, в течении которого будет висеть. Если устроит, чтобы это было минут через 40, дерзай.

А так обычно используют событие onbeforeunload, которое сейчас поддерживается всеми браузерами. Но это все равно "костыли". В идеале структура проекта так должна строиться, чтобы слушать только сессию (тут тоже есть "нюансы" - повторный вход в проект с того же открытого браузера будет в той же сессии, что необходимо учитывать). И то - смысл? Нужно, чтобы что-то работало пока пользователь "на связи" - для этого есть сессия, в которой можно хранить параметры. Нет данного пользователя - нет сессии.

Старый 20.10.2011, 01:41
linnard вне форума Посмотреть профиль Отправить личное сообщение для linnard Найти все сообщения от linnard
  № 5  
Ответить с цитированием
linnard

Регистрация: Oct 2010
Сообщений: 53
Цитата:
Сообщение от Dimitry_II Посмотреть сообщение
повторный вход в проект с того же открытого браузера будет в той же сессии, что необходимо учитывать
Тогда сессии не подходят...Насколько я понимаю onbeforeunload это javascript событие. Как мне его связать с flex приложением?

Старый 20.10.2011, 01:47
miki вне форума Посмотреть профиль Отправить личное сообщение для miki Найти все сообщения от miki
  № 6  
Ответить с цитированием
miki

Регистрация: Jan 2011
Сообщений: 46
Поставь в приложении на таймер запрос скрипта. Этим скриптом пиши в базу время последнего конекта и если разница между "сейчас" и "тогда" больше N = юзер вышел.

Старый 20.10.2011, 01:54
trng вне форума Посмотреть профиль Отправить личное сообщение для trng Найти все сообщения от trng
  № 7  
Ответить с цитированием
trng

Регистрация: Jun 2011
Сообщений: 212
Цитата:
Существует ли событие в flash builder 4.5...
flash player не имеет подобных событий. поэтому и в билдере их быть не может.
Более того, даже js вам ничего не гарантирует (на момент закрытия страницы у юзера может оборваться коннект, зависнуть браузер и т.п.).
Отслеживать умирание сессии тоже большого смысла нет, т.к. это самое умирание - не более чем некий "промежуток времени". Вот и используйте это - сохраняйте вместе с id метку времени (например, "от последнего обращения флеша к серверу"). И удаляйте из базы id с неактивностью больше суток или что то вроде этого.

Старый 20.10.2011, 01:59
linnard вне форума Посмотреть профиль Отправить личное сообщение для linnard Найти все сообщения от linnard
  № 8  
Ответить с цитированием
linnard

Регистрация: Oct 2010
Сообщений: 53
Цитата:
Сообщение от miki Посмотреть сообщение
Поставь в приложении на таймер запрос скрипта. Этим скриптом пиши в базу время последнего конекта и если разница между "сейчас" и "тогда" больше N = юзер вышел.
Спасибо, такой вариант я уже использую - но он не точный. Поставил на Cron задание запускать php скрипт каждые 3 минуты, который удаляет id где разница во времени между "сейчас" и "тогда" больше N. Нужна максимальная точность...Тем более это текстовый чат. а если юзер переписываться будет полчаса, а удаляться будет все, где разница во времени 3 мин?

Старый 20.10.2011, 02:01
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 9  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Поддерживать сокет соединение.

Старый 20.10.2011, 02:04
linnard вне форума Посмотреть профиль Отправить личное сообщение для linnard Найти все сообщения от linnard
  № 10  
Ответить с цитированием
linnard

Регистрация: Oct 2010
Сообщений: 53
Цитата:
Сообщение от Bgg Посмотреть сообщение
Поддерживать сокет соединение.
А каким образом? Разве Flex поддерживает работу с сокетами?

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:13.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:13.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.