Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Перехват закрытия браузера


Автор: knave 27.1.2004, 17:14
Надо сделать что бы при закрытии брузера вызывался скрипт php на сервере.
Приэтом скрипт просто должен отработать и ничего невыдать в браузер.

пробовал так, неполучается нужного результата
window.onclose = closeWnd;

function closeWnd()
{
window.location.href='index.php';
}

Автор: MuToGeN 27.1.2004, 17:35
document.onUnload

Автор: knave 27.1.2004, 18:07
это нето, оно срабатывает когда страница меняется, а мне нужно только когда браузер закрывают

Автор: Sardar 27.1.2004, 20:13
Загрузка чего-либо в момент закрытия браузера будет очень раздражать народ, тем более, что хороший браузер ничего грузить не будет.
Вот все события окна:
Код

for(i in window) {
if(i.substr(0,2)=="on") document.write("window."+i+"<br>\n");
}

Подобный вопрос обсуждался здесь:http://forum.vingrad.ru/index.php?act=ST&f=10&t=16342

Скажи какого результата нужно добится, может найдем альтернативное решение smile.gif.

Автор: knave 27.1.2004, 20:14
А я ничего грузить и небуду, мне надо удалить временные файлы тогда когда юзер закроет браузер.
Вот я ихочу при закрытии браузера запускать скрипт на сервере который это будет делать.

Автор: MuToGeN 28.1.2004, 14:23
Может, легче на сервере фиксировать время последнего контакта с пользователем, а в кроне прописать скрипт, удаляющий эти фаилы, если последний контакт, например, > 30 минут?

Автор: Dave 28.11.2007, 15:58
у меня похожий вопрос.

например человек пытается закрыть окно(нажал на крестик)
мне нужно сделать confirmation 'Уверены ли вы что хотите закрыть окно', если нет то не закрываем,если да  - закрываем.
знаю что можно в onUnLoad прописать выполнение своей ф-ии, но как она сможет предотвратить само закрытие окна ? как это сделать  ?  ф-я выполнится и окно все равно закроется...

Автор: cruelangel 28.11.2007, 16:30
onbeforeunload

Автор: dstorm81 29.11.2007, 09:28
Dave, 
Цитата(Dave @  28.11.2007,  15:58 Найти цитируемый пост)
знаю что можно в onUnLoad прописать выполнение своей ф-ии


1 такой способ кроссбраузерно НЕРЕАЛИЗУЕМ (если имеется в виду именно закрытие окна-истинного)
такое можно только проделать под trident - IE\hta . для остальных браузеров выполнение функций на лоад и унлоад обладает своей специфичностью, особенно опера
2 лучше сделать имитация окон на одной странице постредством div

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)