Как выполнить функцию перед закрытием/перезагрузкой страницы
Здравствуйте. Требуется по умолчанию сохранять в базе данных настройки пользователя, когда он закрывает или обновляет страницу. window.onbeforeunload и unload не срабатывают. То есть onbeforeunload срабатывает, если выводить предупредительное сообщение, а просто молча функцию не выполняет. Есть какие-нибудь методы осуществить желаемое?? Буду очень благодарна за советы.
|
В таком случае при любом изменении нужно сохранять настройки вне зависимости от перезагрузки или ухода с сайта.
|
Тут нет логики в onbeforeunload и описанной задаче. Юзер останется на странице - и что? Значит не ушел, значит сохраняли в бд зря, он еще поменяет что-то и опять не получится сохранить.
Все, да, сохраняется по событиям, а не в конце как в екзеле. Делается на самом деле проще. Без аякса-шмаякса через куки. Сохранили в куках - они на клиенте лежат. Перезагружаем страницу - идет запрос к серверу. Сервер берет те же самые куки, проверяет все и сохраняет в бд, затем из бд читает или кеширует что найдено в куках и согласно настроек отдает пагу. |
Цитата:
|
В смысле узнать где руки юзера? не зависли ли пальцы над комбинацией кнопок alt+f4, или вы уверены что нормальный человек никогда мыш из них не выпустит?
Вам дали правильный ответ. Чтобы не гонять аякс по каждому чиху, сохраняете все через json в куказ и все. Сервер сохавает перед выдачей паги в следующей сессии и все будет выглядеть как оставлено. |
Цитата:
|
Аборигены съедят?
Куда они денутся? По кукам деньги зарабатывают, а тут какие-то иконки, блин. |
Куки могут храниться до 9999 года. Этого достаточно? Ну вот.
Гоняйте аяксом запросы, не должно быть там проблем. Социал весь так работает. Ну или заведите кнопку или меню Сохранить настройки. |
у куки же есть срок действия? к тому же их можно удалить, нажав на соответствующую кнопку в браузере
|
Срок действия устанавливает разработчик, максимальный - 9999 год. Что касается удаления куков, то у ваших пользователей все равно нет столько извилин чтобы открыть настройки браузера. Но самая мякотка - как они потом залогиняться к вам на сайт удалив куки? Никто их не удаляет, не переживайте. О них даже никто не знает кроме нас с вами.
|
Часовой пояс GMT +3, время: 20:06. |