Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.01.2014, 01:50
Аватар для Stilus
Новичок на форуме
Отправить личное сообщение для Stilus Посмотреть профиль Найти все сообщения от Stilus
 
Регистрация: 15.01.2014
Сообщений: 6

Событие на закрытие окна браузера пользователем
Добрый день всем пользователям!
Помогите разобраться и решить такой вопрос:
Есть открытое окно браузера. Мне нужно кроссбраузерно отследить событие закрытия этого окна. То есть, если клиент например кликнет на крестик окна, то перед тем как окно закроется, мне нужно вызвать из этого окна функцию и после закрыть окно!
Пробовал очень много вариантов.
Мне нужно вывести пользователю confirm(), и в зависимости от его ответа, вызывать функцию и после закрыть окно браузера или ничего не делать если он не подтвердил.

Пример:

window.onbeforeunload = function()
{
var hack = /irefox\/([4-9]|1\d+)/.test(navigator.userAgent);
if (hack)
{
chat.userClickEndChat();
}
else
{
chat.userClickEndChat();
}
}



но пример работает только в хроме и safari, а вот с оперой и фаерфоксом проблемы.

Ответить с цитированием
  #2 (permalink)  
Старый 15.01.2014, 05:00
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Stilus
но пример работает только в хроме и safari, а вот с оперой и фаерфоксом проблемы.
Все верно. В опере нет никаких событий по закрытию окна. А в firefox нет возможности выдать окно подтверждения.
Думай как обойтись без окон и даже без события.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 15.01.2014, 23:17
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Есть в FF диалог. Только текст нельзя поменять в нем.
Ответить с цитированием
  #4 (permalink)  
Старый 18.01.2014, 00:42
Аватар для Stilus
Новичок на форуме
Отправить личное сообщение для Stilus Посмотреть профиль Найти все сообщения от Stilus
 
Регистрация: 15.01.2014
Сообщений: 6

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

var warning = "Вы потеряли чат!"
window.onbeforeunload = function warn()
{ var hack = /irefox\/([4-9]|1\d+)/.test(navigator.userAgent);
if (hack)
{
chat.userClickEndChat();
return warning;
}
else
{
chat.userClickEndChat();
return warning;
}

};
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отличить событие, вызванное пользователем, от программного. upvasil Events/DOM/Window 6 22.10.2013 21:30
Событие закрытия окна при window.open un3solka Events/DOM/Window 4 24.07.2013 19:46
Как запретить применение css при изменении окна браузера east (X)HTML/CSS 7 12.10.2012 21:23
Событие закрытие браузера ansi_str Javascript под браузер 1 13.07.2012 12:06
в содержимом окна FancyBox не работает событие .click() rafic jQuery 4 01.11.2011 16:59