Я работаю над веб-CMS. Когда пользователь нажимает на ссылку для перехода на другую страницу или отправляет форму, я хочу, чтобы анимированный GIF «подожди», чтобы отобразиться в верхнем правом углу, чтобы символизировать, что загрузка выполняется.Обнаруживать, когда пользователь нажимает ссылку, но отменяет
Однако пользователь может отменить загрузку новой страницы в своем браузере, например, нажав кнопку «Отмена» или ESC. В этом случае они останутся на текущей странице, так как браузер перестанет загружать следующую страницу.
Как я могу обнаружить это в Javascript и скрыть значок «wait» еще раз?
Edit: Для решения «вы не должны делать, что, браузер уже имеет его» комментарии. У меня есть две конкретные причины для введения пользовательского решения.
У меня есть кнопки AJAX на странице. Мне нужен индикатор активности для них, поэтому пользователь не путается, зарегистрирован ли клик или нет.
При медленных соединениях с большим запаздыванием индикатор хода некоторых браузеров будет двигаться очень медленно. Я работаю в реальной жизни, когда требуется время, пока throbber не проявит активность в IE6/7. Это создает впечатление, что ничего не происходит, и приложение реагирует очень медленно, и это меня раздражает. Мне нужен индикатор, который постоянно перемещается (например, Safari).
Я всегда нахожу эти «ожидание» и «погрузка» вещей раздражающими. У браузера есть это по умолчанию (spinner в FireFox/Safari и индикатор выполнения в IE). Лучше подумайте, не добавляя его? – 2009-11-21 19:26:09
О медленных системах и соединениях, особенно IE, очень туманно в общении с тем, что он сейчас делает.Быстрое обозначение, которое всплывает, поможет исправить ситуацию. –
Что касается точки AJAX, если вы используете jQuery, есть глобальные обработчики событий, которые выполняют хорошую работу. см. скрипку, с которой я играл, с jsfiddle.net/e4z9bv6k, а также некоторые полезные сообщения из stackoverflow.com/q/3735877 и stackoverflow.com/q/9043768, а также stackoverflow.com/q/3709597 –