Member 13427929 Ответов: 0

Обнаружение и удаление данных, если пользователь нажимает кнопку go back в broswer


Привет
Я работаю с приложением, где каждый раз, когда пользователь открывает страницу, атомарно генерирует идентификатор этой страницы с помощью базы данных.
Все данные хранятся с этим идентификатором, когда пользователь нажимает кнопку Сохранить (кнопка сохранения на стороне сервера ) . Но как я могу это сделать, если пользователь нажимает кнопки go back или close в браузере , я хочу, чтобы появилось окно с каким-то текстом вроде "Вы забыли нажать кнопку save, чтобы сохранить свою работу, если вы уйдете, вы потеряете свою работу!". В то же время я хочу удалить идентификатор, если пользователь не нажал кнопку Сохранить и не покинул страницу.

Что я уже пробовал:

Я пытался использовать
window.history.back(1);
в javascript, но это не работает .

F-ES Sitecore

Что произойдет, если пользователь просто оставит свой браузер открытым на несколько дней, а не закроет его?

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

Member 13427929

Так что это невозможно ??

F-ES Sitecore

Нет. Веб - сайты, которые делают это, как правило, просто очищают старые данные через определенное время.

Member 13427929

На самом деле я пробовал что-то, но это не работает должным образом во всех браузерах .
window.onbeforeunload = function () { return "ваша работа будет потеряна."; };

F-ES Sitecore

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

Laxmidhar tatwa technologies

если пользователь нажимает на кнопку Сохранить, он сохраняет.
если нажать на кнопку Назад вызовите функцию java script
и в функции отображения сообщения .затем перезагрузите ту же страницу с предыдущими идентификационными данными

0 Ответов