недружелюбный к пользователю onbeforeunload / onunload - PullRequest
1 голос
/ 25 декабря 2011

Я борюсь с onbeforeunload, onunload и генерирую правильные сообщения в нужное время. Любая идея приветствуется. Это ситуация:

  • когда я использую onbeforeunload, пользователь получает сообщение, чтобы выбрать, отойти ли от него, но я не могу его отключить - сообщение стандартное и появляется независимо от того, что находится в обработчике событий.
  • когда я использую onunload, я могу контролировать возникающие сообщения «пока», но не могу предложить пользователю возможность изменить свое мнение.

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

Я что-то там упускаю? Кажется, я не могу получить простое поведение, которое я хочу - проверить состояние приложения, отправить сообщение и предложить пользователю принять меры, прежде чем они уйдут. Или для получения такого поведения используется одно или оба события?

1 Ответ

4 голосов
/ 25 декабря 2011

Я сделал для вас простой пример, который, я думаю, может сделать то, что вы хотите. К сожалению, нет способа изменить сообщение в onbeforeunload, но вы можете удалить сообщение, когда пользователь сохранит данные. http://jsfiddle.net/JL48j/8/

...