Я борюсь с onbeforeunload, onunload и генерирую нужные сообщения в нужное время. Любая идея приветствуется. Вот такая ситуация:
- когда я использую onbeforeunload, пользователь получает сообщение, чтобы выбрать, следует ли уйти, но я не могу его выключить - сообщение стандартное и появляется независимо от того, что находится в обработчике событий.
- когда я использую onunload, я могу контролировать появляющиеся сообщения «до свидания», но я не могу предложить пользователю возможность изменить свое мнение.
Так, например, если есть данные для сохранения. При onbeforeunload появляется сообщение, независимо от состояния данных пользователя, с вопросом, хотят ли они уйти или нет. С помощью onunload я могу выбрать сообщение и проверить, есть ли несохраненные данные, прежде чем спрашивать пользователя, сохраняя им проблему, если они сохранили, но мой пользователь не может выбрать оставаться на странице.
Я что-то там упустил? Кажется, я не могу добиться того простого поведения, которое хочу - проверить статус приложения, отправить сообщение и предложить пользователю принять меры, прежде чем он уйдет. Или есть использование одного или обоих событий, чтобы получить такое поведение?