PDA

Просмотр полной версии : Событие выгрузки плеера при закрытие окна браузера


Acrossfy
27.10.2011, 14:13
Здравствуйте. Нужно выполнить код, в случае если пользователь закрыл страницу с флешкой(перед закрытием). Насколько это возможно сделать в обычном Flash? Насколько знаю, для AIR есть подобные события.

Genzo
27.10.2011, 15:54
В флеш такое событие не отправиться, можете только ловить ACTIVATE , DEACTIVATE

Acrossfy
28.10.2011, 14:29
Ок, придется тогда пинговать клиента, чтобы узнать, что он оторвался от сокета.

nuToH
28.10.2011, 14:43
попробуй событие CLOSE, должно помочь(?)
clientSocket.addEventListener(Event.CLOSE, this._clientSocketCloseListener);

Genzo
28.10.2011, 15:12
попробуй событие CLOSE, должно помочь(?)
clientSocket.addEventListener(Event.CLOSE, this._clientSocketCloseListener);


Что-то я сомневаюсь, что плагину плеера браузером посылается какое-то событие оборвать все соединения, а если он просто процесс завершил?

nuToH
28.10.2011, 15:40
должно работать. даже DEACTIVATE срабатывает при закрытии браузера. сегодня вечером постараюсь проверить, отпишусь.

Inet_PC
28.10.2011, 15:47
Одно дело при корректном закрытия браузера, а совсем другое при не корректном (на пример из диспетчера задач).

Acrossfy
28.10.2011, 16:18
событие CLOSE
Оно срабатывает только в случае, если юзер вручную закрыл сокет. Если же дисконнект, или процесс убит, то сессия остается открытой, образуется мертвая душа на сервере.

DEACTIVATE я не пробовал, но судя по документации оно срабатывает даже если просто свернуть браузер. А разрывать соединение в таком случае нельзя..

Inet_PC
28.10.2011, 16:21
Тогда пинг.

-De-
28.10.2011, 16:33
У клиента может отвалиться интернет, так что пинговать обязательно.

Acrossfy
24.05.2012, 21:40
Решил вернуться к старой теме и оживить ее, т.к. вновь понадобилось реализовать подобное. Нашел очень неплохое решение данного вопроса с участием JS – http://sierakowski.eu/list-of-tips/74-flash-detecting-browser-window-close.html