- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Вопрос "начинающего".
Как с помощью события onUnload отменить попытку закрытия страницы пользователем.
Или на JavaScript это делается как-то по другому?
Подозреваю, что никак, иначе бы всякие умники делали страницы/окошки, которые никак нельзя покинуть/закрыть :)
1) onUnload=" alert() ; return true " (или return false, не помню) может сработать.
2) на JS это делается И по-другому, и это "по-другому" считается теоретически более верным
3) часть современных браузеров могут запрещать перехват этого события
4) идеологически, на обрабочик этого события лучше не зависеть и ничего на него не вешать
5) ничего кроме вывода предупреждения-запроса точно ли юзер хочет закрыть страницу где большая форма частично заполнена и не сохранена/отправлена - да/нет? - туда вставлять не стоит
Это да...
Но что делать в ситуации, когда пользователь заполнил некоторую форму, но не "сохранил" ее, а решил уйти со страницы?
Зачем это надо?
Конкретнее:
Ситуация обычная, но не встречал, чтобы кто-то такое делал...
Есть общая база.
Каждый хочет по ней искать, но ленится записывать в нее то, что его интересует.
В принципе, форма его поиска - это уже готовые данные для записи в базу для тех, кто будет искать встречный вариант.
Не хватает только контактных данных.
Соответственно, если бы после поиска при попытке закрыть страницу посетителю предлагали бы ввести контакты для участия в базе, то при его отказе страница бы закрывалась, а при согласии - форма поиска уходила бы в базу, а текущая страница не закрывалась бы, а на ее место загружалась бы форма контактов.
Можно, конечно, обе формы (поиска и контактов) держать на одной странице, но это перегружает страницу лишней (не всегда нужной) информацией...
Можно сохранять форму поиска в файле или еще где-то (она несколько великовата), а при положительном ответе по поводу контактов открывать новое окно с соответствующей формой (мне кажется, что браузеры будут блокировать это как "всплывающее окно" - проверю...)
Может тогда что-нибудь подскажите по самой схеме?
В Gmail это реализовано как-то так:
window.onbeforeunload=function(){return "Кликните 'Отмена' ('Cancel'), чтобы остаться на этой странице";}Вот тут что-то похожее разбирали.
Спасибо
2) на JS это делается И по-другому, и это "по-другому" считается теоретически более верным
Не дадите намек?!
5) ничего кроме вывода предупреждения-запроса точно ли юзер хочет закрыть страницу где большая форма частично заполнена и не сохранена/отправлена - да/нет? - туда вставлять не стоит
Именно эта ситуация. - Так как надежно оставить страницу вживых, если посетитель сообразит, что нужно задержаться на странице?
С помощью этого?
rootv добавил 30.10.2011 в 18:11
1) onUnload=" alert() ; return true " (или return false, не помню) может сработать.
Что-то в трех браузерах никакие сочетания не помогают... а хром вообще не замечает onUnload=" alert() ;" как будто его и нет...
rootv добавил 30.10.2011 в 18:54
Вот тут что-то похожее разбирали.
Хороший пример, но работает только в IE и хроме...
Хороший пример, но работает только в IE и хроме...
Решение есть.
Мда...
Этот вариант для jquery
<script type="text/javascript"> $(document).ready(function(){ $("#myForm").FormNavigate({ message: "Содержимое было изменено!\nВы уверены, что хотите покинуть страницу без сохранения?" }); });</script>
Совсем не работает... (хотя в jquery только и успел понять - как оно подкулючается... но другие примерчики работают, а этот - нет)
Работает только (но кроме Оперы)
Ну и это
- тоже кроме Оперы
rootv добавил 31.10.2011 в 04:50
Вроде бы все прочесал по поиску... если через jquery, то все сводится к
А именно этот код выдает ошибку
???
А именно этот код выдает ошибку
FormNavigate подключали?
FormNavigate подключали?
Подключал только jquery.
теперь загрузил и добавил
<script type="text/javascript" src="jquery.FormNavigate-min.js"></script>
1. Старой ошибки не выдает.
2. В Опере - никакой реакции
3. В IE и хроме - вместо сообщения выдает [object Object]
4. В FF спрашивает как положено о желании выйти, но никакого сообщения вообще ни выводит (правда и раньше не выводила)
Вот что работает 100% даже в Опере, так это -
<script>$(document).ready(function(){
$("a").click(function(){
alert("Побудьте еще!");
return false;
});
});
</script>
Но это только для переходов по ссылке...
Буду искать решение дальше...