Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как выполнить функцию перед закрытием/перезагрузкой страницы (https://javascript.ru/forum/events/55355-kak-vypolnit-funkciyu-pered-zakrytiem-perezagruzkojj-stranicy.html)

kostyanet 24.04.2015 12:20

Я бы вам даже посоветовал вообще ничего не сохранять в бд. Попробуйте - увидите что это - лишнее.

В теории да, могут быть такие коллизии, типа в гаме какой-нить написано "почитите куки". Юзер идет спрашивать знающих как это сделать, те ему рассказывают какую кнопку нажать, он чистит, ура, гама прочихалась. Назавтра оказывается никуда нельзя зайти - куки-то сдохли. Начинается поиск паролей в браузере, что найдено то найдено. Но в следующий раз юзер уже не будет так просто нажимать всякие кнопки. Ему одного раза хватит.

Вот вы лично давно их удаляли?

Еще есть вариант что юзер зайдет инкогнито. Тогда никаких куков сервер не увидит вообще. Логин будет работать и все что сохранено в бд - будет, а кукотехника - отвалится. Но опять же - кто так вообще сделает?

Ну и главное - тот кто удалит куки - сам дурак.

Ol'kO 24.04.2015 12:21

Цитата:

Сообщение от kostyanet
Что касается удаления куков, то у ваших пользователей все равно нет столько извилин чтобы открыть настройки браузера.

Лол:lol: Это верно. Но зато система авторизации некоторых наших приложений для начала удаляет все куки перед запуском.

Ol'kO 24.04.2015 12:25

А по поводу автоматического сохранения расположения иконок без всяких тыков по кнопкам меню - это пожелания клиентов, так что интересно было бы узнать, что еще можно было бы в этом направлении сделать?

kostyanet 24.04.2015 12:28

С куками еще есть ограничение по размеру. Если туда еще писать json и юникод - то много не запишешь. На такие случаи есть локальная бд. Про нее кроме нас вообще никто не знает и посмотреть что там не сможет.

kostyanet 24.04.2015 12:30

Ничего тут нельзя сделать. Если страница - документ, то должна быть кнопка Save. Вы не можете ничего сделать толком в период между beforeunload и unload собственно. Это не десктоп. Юзер имеет право закрыть браузер и прекратить все процессы немедленно.

Галюники с этими фичами с некоторых пор наконец-то устранены во всех нормальных браузерах, что способствовало резкому уменьшению числа долбоящеров использовавших эти фичи во вред.

kostyanet 24.04.2015 12:32

Зато вы можете сохранить что угодно юзеру на локальный диск. Хоть всю страницу целиком. В локальной бд.

kostyanet 24.04.2015 12:36

В парадигме веб-страницы как интерфейса БД, нет никакой разницы где эта бд находится в каждый момент времени. Используя запросы вы просто делаете ту самую репликацию - из локальной бд берете данные и сохраняете в серверной, а из серверной отдаете новые данные и сохраняете в локальной.

Браузер же может и локальные страницы открывать. То есть можно написать приложение для обычной дестктопной работы, любую бд вести по товарам или там чему угодно. Ну вот, собственно никакой разницы тут нет, ну, за небольшим исключением.

Смехотура в том, что из браузера нельзя нормально работать с файлами - по соображениям безопасности. Поэтому вся работа ведется с namespace в локальной базе данных. КОторая конечно тоже файл, но со своим собственным интерфейсом.

Еще смешнее что вы сами можете не знать сколько вам всякого барахла записывают на диск всякие сайты. Типа вы почистили куки, красота, никто про меня не знает - как бы не так. Там минимум дюжина способов обойтись без печенек.

Ну вот, значит вам нужно найти любой из них и заюзать, чтоб куки не беспокоили.

Ol'kO 24.04.2015 12:50

Понятно... Идея хорошая. Спасибо за ответы!


Часовой пояс GMT +3, время: 21:56.