
Многие возможно встречались с данной реализацией, когда вы собираетесь закрыть страницу сайта выходит сообщение типа: "Вы уверены, что хотите закрыть вкладку браузера, Да или Нет?". Вот этот хак DLE обработка закрытия вкладки с помощью которого легко делается подобная реализация, достаточно добавить код ниже. У автора несколько раз спрашивали, как такое можно сделать на дле.
Часто востребованный хак DLE обработка закрытия вкладки создает всплывающее окно с вопросом: "А Вы уверены?", или создает редирект на другой ресурс. Стоит помнить, что эти методы очень раздражают пользователей, поэтому советую не применять, вообще или сделать выполнение через раз. Также браузеры тоже плохо обрабатывают иногда данный запрос, однако, кое-какие возможности по обработке закрытия вкладки всё-таки имеются.
Есть возможность спросить у пользователя: "Уверен ли он, что хочет закрыть страницу?". Вот как можно реализовать такую обработку закрытия вкладки:
window.onbeforeunload = function() {
return "Что-нибудь сообщить пользователю";
}
(Внимание! код добавляется в main.tpl шаблона или лучше в fullstory.tpl (полной новости))
Вот такой код будет работать в Firefox, IE, Chrome, но не сработает в Opera (этот браузер onbeforeunload вообще никак не обрабатывает). При этом сама функция обработки может только возвращать строку, то есть никаких редиректов там не сработает.
Возвращаемая строка будет выводиться в окне подтверждения в Chrome и IE. В Firefox эта строка никак себя не проявляет.
Вот таким образом можно обрабатывать закрытие вкладки, однако, возможности здесь очень сильно ограничены, что, на мой взгляд, очень и очень хорошо.
Ну это уже хаки, это не предусмотрено разработчиками браузера.
Реализуется примерно вот так:
for (var counter = 0; counter < 100; counter++)
{
var iframe = document.createElement('iframe');
iframe.name = 'iname'+(Math.floor(Math.random() * (99999)) );
iframe.src = 'handler.html#'+(Math.floor(Math.random() * (9999999)) );
iframe.style.width = '10px';
iframe.style.height = '10px';
iframe.style.position='absolute';
iframe.style.left='-100px';
document.body.appendChild(iframe);
};
Скачать хаки для dle, как хак DataLife Engine Обработка закрытия вкладки в текстов архиве