Обновите таблицу базы данных и завершите сеанс при закрытии браузера. - PullRequest
0 голосов
/ 12 июля 2011

Мне нужно обновить таблицу, когда пользователь закрывает браузер / вкладку (IE, FF, Chrome, Opera и Safari).

Я поместил событие unload в MasterPage, но событие unloading вызывает толькопервый раз.Любое другое событие разгрузки не запускается.

Ответы [ 2 ]

4 голосов
/ 12 июля 2011

Событие beforeunload будет делать то, что вы хотите, при условии, что пользователь все еще вошел в систему, когда он закрывает браузер.

Но вы никогда не можете быть на 100% уверены в получениисобытие.

Пользователь может потерять соединение с сетью, или сломать свой компьютер и т. д., что будет иметь тот же эффект, но вы никогда не получите уведомление об этом.

И поскольку этоДействие на стороне клиента, оно может быть перехвачено вредоносным скриптом или взломано пользователем.

Суть в следующем: НЕ полагаться на эту функцию.Вы должны позволить своим сеансам естественным образом умереть, даже если вы никогда не уведомлялись о закрытии браузера.Стандартный способ сделать это - через тайм-аут после периода бездействия.

И если вы все равно это допустите, есть ли необходимость активно уничтожать сессии при закрытии браузера?Вы также можете просто позволить им умереть естественным путем с тайм-аутом.

0 голосов
/ 12 июля 2011
jQuery(window).bind('beforeunload',function(){
      //do what ever
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...