Событие на закрытие окна браузера пользователем
Добрый день всем пользователям!
Помогите разобраться и решить такой вопрос: Есть открытое окно браузера. Мне нужно кроссбраузерно отследить событие закрытия этого окна. То есть, если клиент например кликнет на крестик окна, то перед тем как окно закроется, мне нужно вызвать из этого окна функцию и после закрыть окно! Пробовал очень много вариантов. Мне нужно вывести пользователю confirm(), и в зависимости от его ответа, вызывать функцию и после закрыть окно браузера или ничего не делать если он не подтвердил. Пример: window.onbeforeunload = function() { var hack = /irefox\/([4-9]|1\d+)/.test(navigator.userAgent); if (hack) { chat.userClickEndChat(); } else { chat.userClickEndChat(); } } но пример работает только в хроме и safari, а вот с оперой и фаерфоксом проблемы. :help: |
Цитата:
Думай как обойтись без окон и даже без события. |
Есть в FF диалог. Только текст нельзя поменять в нем.
|
Заметил что если вешать функцию на это событие в паре с сообщением то функция вызывается. Но вот как быть если пользователь на вопрос хочет он остаться на странице или нет, нажмет да и при этом функция все равно сработает. А мне например нужно, чтоб функция сработала именно на подтверждение закрытия окна.
Сейчас сделал так: 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; } }; |
Часовой пояс GMT +3, время: 23:18. |