Підтвердження закриття вкладки браузера

У мене вже кілька разів запитували, як можна створити підтвердження закриття вкладки браузера.

Припустимо, користувач хоче закрити Ваш сайт, а Ви робите яке-небудь спливаюче вікно і запитуєте: “А Ви впевнені?”, Або робите редирект на інший сайт. Зрозуміло, ці методи дуже сильно дратують користувачів, тому рекомендую не використовувати їх. На щастя, браузери це так само дуже погано обробляють, однак, деякі можливості по обробці закриття вкладки все-таки є.

Є можливість запитати у користувача: “Чи впевнений він, що хоче закрити сторінку?”. Ось як можна реалізувати таку обробку закриття вкладки:

<script>
window.onbeforeunload = function()
{
return "Будь-яка інформація яку ви хочете повідомити користувачу";
}
</script>

Ось такий код буде працювати в Firefox, IE, Chrome, але не буде працювати в Opera (цей браузер onbeforeunload взагалі ніяк не обробляє). При цьому сама функція обробки може тільки повертати рядок, тобто ніяких редиректів там не спрацює.

Рядок що повертається буде виводитися у вікні підтвердження в Chrome і IE. У Firefox цей рядок ніяк себе не проявляє.

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