Предотвращение поведения Back Browser при нажатии AJAX Autosave и Backspace

Вопрос намеренно неясен, так как я не хочу ограничивать возможные решения.

Страница:

  1. Элемент управления редактора (CuteEdit, если это имеет значение)
  2. Таймер AJAX, который запускает обратную передачу и автосохранение.
  3. Другие вещи (текст, кнопка отправки и т. Д.)
  4. Нет навигации (ссылки и т. Д. На странице)
  5. Все отображается в окне браузера.

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

Анализ: Некоторые браузеры (firefox, edge) используют backspace для команды возврата страницы. Но, если фокус является входом, эта функция отключена. Мое лучшее предположение заключается в том, что при срабатывании таймера фокус на вводе теряется, и браузер принимает клавишу возврата в качестве команды браузера назад.

Опции

  1. Используйте Javascript для захвата события onunload и отключения браузера.
  2. Откройте редактор во всплывающем окне без панелей инструментов, чтобы не было возврата.
  3. Каким-то образом отключить ввод с клавиатуры, когда редактор не в фокусе.
  4. Что-то, о чем я не думал.

Каковы мои лучшие варианты в этой ситуации?

КСТАТИ. Это C# .Net 4.5, если кто-то хочет предложить серверную часть. Но я не отмечаю это, поскольку это в значительной степени не имеет отношения к проблеме.

0 ответов

Другие вопросы по тегам