Вы можете сделать три вещи, перечисленные ниже в порядке сложности:
1. Поместите на страницу предупреждения, чтобы пользователи не нажимали кнопки перезагрузки или возврата. Этот подход часто применяется на платежных шлюзах, когда данные кредитной карты проверяются на стороне сервера. Вы можете показать модальное диалоговое окно с предупреждением и графиком счетчика c.
2. Используйте переменные сеанса на стороне сервера, чтобы обнаруживать прерывания вызовов ajax. Например, у вас может быть переменная с именем ajax_status (значения нет, неполные и полные). Вы можете установить эту переменную при запуске и успешном завершении вызова ajax. При загрузке страницы, если вы обнаружите, что переменная установлена как неполная, покажите сообщение об ошибке, в котором говорится: «Что-то пошло не так, вы нажали кнопку перезагрузки?»
3. Расширьте второй подход, чтобы сохранить параметры вызова ajax и повторно запустить запрос на перезагрузку страницы (показать предупреждение о том, что обновление данных sh было прервано, и подтвердить, что сообщение не перезагружается).