Можно ли управлять значком "загрузка" на вкладке браузера?

У меня есть серия вызовов AJAX через jQuery. Когда выполняется вызов ajax, визуальная индикация отсутствует. Обычно, если вы нажмете ссылку или иначе какую-то не-аякс-загрузку, браузер отобразит на вкладке немного значка загрузки.

Есть ли способ сообщить браузеру отобразить этот маленький значок на вкладке? (Их около 30, поэтому я надеюсь избежать изменения каждого из них).

Ответы

Ответ 1

Нет, вы не можете сказать браузеру такую ​​вещь.

Но вы можете сделать свой собственный индикатор загрузки. Включите скрытый элемент в свою разметку, затем используйте ajaxStart и ajaxStop события, чтобы контролировать его видимость:

$("#loading_animation").bind({
    ajaxStart: function() { $(this).show(); },
    ajaxStop: function() { $(this).hide(); }
});

ajaxStart запускается jQuery, когда запускается запрос ajax, когда никто другой не запускается; ajaxStop запускается, когда запрос ajax завершается, другие не работают.

Ответ 2

Нет.

Но вы можете изменить css курсора.

body {
   cursor:wait;
}

Ответ 3

Вы абсолютно можете. См. Это сообщение: Динамическое изменение значка сайта

Просто создайте анимированный значок графического изображения загрузки и измените значок до его загрузки.

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

Ответ 4

Прежде чем попасть в какой-либо код или что-то еще, я просто хочу сказать, что это уродливое решение, но оно действительно работает для меня.

То, что я сделал, это разместить iframe на сайте. Затем я скрываю его с отображением: none в css.

Затем при каждом вызове ajax я перезагружаю iframe новой страницей. Это заставляет браузер отображать загрузку в панели вкладок.

Я знаю, что это не очень хорошее решение, и у него есть некоторые недостатки. Как и вы не можете контролировать продолжительность загрузки, если iframe загружается быстрее, чем ajax. Но я просто бросаю его туда. Может быть, кто-то еще может опираться на концепцию.

Ответ 5

Вот альтернатива.
Перед выполнением вызова вы можете отобразить изображение, а затем в функции (не после вызова) скрыть его снова.