Просмотр полной версии : Событие выгрузки плеера при закрытие окна браузера
Acrossfy
27.10.2011, 14:13
Здравствуйте. Нужно выполнить код, в случае если пользователь закрыл страницу с флешкой(перед закрытием). Насколько это возможно сделать в обычном Flash? Насколько знаю, для AIR есть подобные события.
В флеш такое событие не отправиться, можете только ловить ACTIVATE , DEACTIVATE
Acrossfy
28.10.2011, 14:29
Ок, придется тогда пинговать клиента, чтобы узнать, что он оторвался от сокета.
попробуй событие CLOSE, должно помочь(?)
clientSocket.addEventListener(Event.CLOSE, this._clientSocketCloseListener);
попробуй событие CLOSE, должно помочь(?)
clientSocket.addEventListener(Event.CLOSE, this._clientSocketCloseListener);
Что-то я сомневаюсь, что плагину плеера браузером посылается какое-то событие оборвать все соединения, а если он просто процесс завершил?
должно работать. даже DEACTIVATE срабатывает при закрытии браузера. сегодня вечером постараюсь проверить, отпишусь.
Одно дело при корректном закрытия браузера, а совсем другое при не корректном (на пример из диспетчера задач).
Acrossfy
28.10.2011, 16:18
событие CLOSE
Оно срабатывает только в случае, если юзер вручную закрыл сокет. Если же дисконнект, или процесс убит, то сессия остается открытой, образуется мертвая душа на сервере.
DEACTIVATE я не пробовал, но судя по документации оно срабатывает даже если просто свернуть браузер. А разрывать соединение в таком случае нельзя..
У клиента может отвалиться интернет, так что пинговать обязательно.
Acrossfy
24.05.2012, 21:40
Решил вернуться к старой теме и оживить ее, т.к. вновь понадобилось реализовать подобное. Нашел очень неплохое решение данного вопроса с участием JS – http://sierakowski.eu/list-of-tips/74-flash-detecting-browser-window-close.html
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.