Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > .NET

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 27.02.2008, 16:56   #1
Неактивный пользователь
 
Аватар для Svintuss
 
Пол:Мужской
Регистрация: 09.01.2007
Сообщений: 71
Репутация: 26
По умолчанию Определяем закрывается окно браузера, или это редирект

После месяца поисков пришло решение как во врмя события onunload определить закрывается окно насовсем, или это просто редирект или рефреш. Мож кому пригодится.

Имеем страницу на ASP.NET с применением AJAX (в моем случае майкрософтовская Ajax.dll).

Все основано на том, что при редиректе вначале вызывается серверный PageLoad вызываемой страницы, и только после этого onunload на клиентской стороне.

В обработчике PageLoad страницы в сессию записываем переменную Flag, причем если переменная до этого не существовала, то пишем False, иначе - true.

using Ajax;

PageLoad(...)
{
if(Session["Flag"]==null)
{
Session["Flag"]=false;
}
else
{
Session["Flag"]=true;
}
/////////регистрируем страницу для обращения к ее методам
Ajax.Utility.RegisterTypeForAjax(typeof(ВашаСтрани ца));
}

Определяем серверный страничный метод, который будет при помощи аякса вызываться по событию onunload окна.

[AjaxMethod(HttpSessionStateRequirement.ReadWrite)]
public void CheckIsWindowClosed()
{
bool res = Convert.ToBoolean(System.Web.HttpContext.Current.S ession["Flag"]);
if(res == false)
{
///////окно закрывается насовсем
}
//обязательно сбрасываем флаг
System.Web.HttpContext.Current.Session["Flag"] = False
}

Клиентская часть.
window.onunload = function()
{
ВашаСтраница.CheckIsWindowClosed();
}
Svintuss вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама:


Старый 05.03.2008, 21:33   #2
Svintuss
Неактивный пользователь
 
Аватар для Svintuss
 
Пол:Мужской
Регистрация: 09.01.2007
Сообщений: 71
Репутация: 26
По умолчанию Ответ: Определяем закрывается окно браузера, или это редирект

Засада.
Сто процентно прием работает только в файерфоксе. В IE при рефреше последовательность событий меняется, сначала клиентский onunload, а затем серверный PageLoad.
Опера вообще не генерирует onunload при заклрытии окна браузера.

У кого какие идеи?
Svintuss вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Флэш на все окно браузера DionisNN Macromedia Flash 5 30.04.2010 19:20
Активно ли окно(вкладка) браузера? stempher Java Script 0 30.09.2009 13:42
Как грамотно осуществить редирект? goldyman Вeб Дизайн 9 30.03.2009 17:37
UTorrent закрывается сам PsiXozZ P2P-системы & Soft 3 10.12.2008 20:48
Редирект vng23 PHP 6 28.01.2008 11:52

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

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

Быстрый переход


Текущее время: 11:34. Часовой пояс GMT +3.


Copyright ©2004 - 2026 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.04004 секунды с 13 запросами