Здравствуйте, Аноним, Вы писали:
А>Собственно, нужно в onbeforeunload знать, закрывается окно по нажатию на X, или другим способом, А>В эксплорере, грубо говоря, такой способ работает:
Вообще, onbeforeunload — это не закрытие окна, а выгрузка страницы из памяти, т.е. из окна. И сработает оно, если пользователь просто ушел со страницы на другой сайт.
Отследить именно закрытие окна по крестику не получится, тут надо искать компромисс. Либо если, для вас закрытие и уход на другой сайт -есть одно и тоже, тогда можно и этот вариант использовать.
Re[2]: Узнать о закрытие окна по нажатию на X
От:
Аноним
Дата:
29.01.09 04:28
Оценка:
в принципе, можно упростить задачу, нужно отловить любое закрытие окна, если оно происходит без постбека на сервер, мне это нужно знать в обработчике onBeforeUnload. Я работаю на aspx.net, там есть __doPostBack, но она вызывается уже после onbeforeonload, что можно такого намутить, что-бы узнать, что недавно была нажата кнопка, на все контролы динамически навесить onClick & onEnter(или как его там )?
смогу ли я навесить несколько onclick на контрол?
есть более разумные идеи? )
знаю, что это не вписывается в идеологию, но готовое приложение на это прилично завязано.
Здравствуйте, Аноним, Вы писали:
А>в принципе, можно упростить задачу, нужно отловить любое закрытие окна, если оно происходит без постбека на сервер, мне это нужно знать в
Еще раз повторяю, отловить чисто закрытие окна не получиться, можно отловить только уход со страницы, вот от этого надо и плясать.
Тут эта тема обсуждалась например здесь
А>обработчике onBeforeUnload. Я работаю на aspx.net, там есть __doPostBack, но она вызывается уже после onbeforeonload, что можно такого намутить, что-бы узнать, что недавно была нажата кнопка, на все контролы динамически навесить onClick & onEnter(или как его там )? А>смогу ли я навесить несколько onclick на контрол?
А>есть более разумные идеи? ) А>знаю, что это не вписывается в идеологию, но готовое приложение на это прилично завязано.
ВОт здесь что-то подобное обсуждается.
НО мне кажется вам этот вариант не подойдет, но вдруг.
Вы напишите конкретно для чего вам это надо, может и решение найдется
Re[4]: Узнать о закрытие окна по нажатию на X
От:
Аноним
Дата:
29.01.09 13:04
Оценка:
а что думаешь за такой, я понимаю, тупой, но чисто теоретически рабочий метод:
мы запоминаем координаты каждого клика, через 300мс мы их сбрасываем (в идеале, нужно timestamp запоминать, но я пока не знаю, как произвести сравнение, что дата за 300мс не устарела на js)
потом, когда возникает событие handleonclose, мы проверяем, если x>0, то закрытие идёт по клику в браузере.
<body onmousedown="catchCoords(event)">
var x=-1;
var y=-1;
function catchCoords(event)
{
x=event.screenX;
y=event.screenY;
setTimeout('clearCoordinates()', 300); // 1000 - 1 sec
}
function clearCoordinates()
{
x=-1; y=-1;
}
window.onbeforeunload = HandleOnClose;
function HandleOnClose()
{
если x & y = -1, координаты устарели, тобишь, кликнули хз где.
}
Здравствуйте, Аноним, Вы писали:
А>а что думаешь за такой, я понимаю, тупой
ни в коем разе я так не думаю А>мы запоминаем координаты каждого клика, через 300мс мы их сбрасываем (в идеале, нужно timestamp запоминать, но я пока не знаю, как произвести сравнение, что дата за 300мс не устарела на js)
Ну впринципе можно и так, а как со случаем если пользователь просто ввел адрес в строке?