Предотвращение поведения Back Browser при нажатии AJAX Autosave и Backspace
Вопрос намеренно неясен, так как я не хочу ограничивать возможные решения.
Страница:
- Элемент управления редактора (CuteEdit, если это имеет значение)
- Таймер AJAX, который запускает обратную передачу и автосохранение.
- Другие вещи (текст, кнопка отправки и т. Д.)
- Нет навигации (ссылки и т. Д. На странице)
- Все отображается в окне браузера.
Проблема: если пользователь нажимает клавишу возврата при срабатывании таймера, браузер работает так, как будто нажата кнопка возврата браузера. Ситуация чаще всего возникает, когда пользователь возвращается на последнюю позицию в набранном предложении и удерживает клавишу для автоматического повтора.
Анализ: Некоторые браузеры (firefox, edge) используют backspace для команды возврата страницы. Но, если фокус является входом, эта функция отключена. Мое лучшее предположение заключается в том, что при срабатывании таймера фокус на вводе теряется, и браузер принимает клавишу возврата в качестве команды браузера назад.
Опции
- Используйте Javascript для захвата события onunload и отключения браузера.
- Откройте редактор во всплывающем окне без панелей инструментов, чтобы не было возврата.
- Каким-то образом отключить ввод с клавиатуры, когда редактор не в фокусе.
- Что-то, о чем я не думал.
Каковы мои лучшие варианты в этой ситуации?
КСТАТИ. Это C# .Net 4.5, если кто-то хочет предложить серверную часть. Но я не отмечаю это, поскольку это в значительной степени не имеет отношения к проблеме.