Как подключиться к закрытому событию IE - PullRequest
1 голос
/ 10 ноября 2010

Я хочу выполнить некоторую очистку в своем веб-приложении ASP.NET, когда пользователь закрывает окно IE или вкладку, на которой страница открыта.

Я смотрел на событие unload элемента «body», однако событие unload также запускается, когда вы нажимаете кнопку «Обновить» в IE или изменяете URL, набрав в адресной строке.

Есть идеи, какие события нужно перехватить, чтобы перехватить окно IE (6.0 и 7.0) и закрытие вкладки?

Ответы [ 2 ]

1 голос
/ 12 ноября 2010

используйте сеансы InProc и событие Session_End в global.ascx для выполнения очистки.javascript слишком ненадежен для этого.

0 голосов
/ 12 ноября 2010

Javascript будет ненадежным / довольно ограниченным по соображениям безопасности. Это действительно зависит от того, что вы пытаетесь сделать, если вы пытаетесь запустить какой-то код на клиентском компьютере, это будет трудно / невозможно (что хорошо, я не очень хочу сайты, которым не доверяю) возиться с моим браузером по одной из его основных функций, закрывая окно).

Если вы хотите запустить некоторые серверные сценарии, чтобы пометить пользователя как ушедшего, опять же, трудно / невозможно, как упоминал Джаспер, global.ascx поможет вам, но в противном случае вам понадобятся таймеры и события уволено по «просроченным» пользователям.

...