Возможное решение - использовать iframe
для запуска загрузки. Но, основываясь на предыдущем ответе, метод iframe не может работать на хроме.
Ваша потребность в том, чтобы показать значок загрузки в браузере, поэтому я думаю, что другим способом является создание fake loading icon
.
Вы можете обновить значок браузера вручную. Есть несколько руководств по обновлению значка браузера.
А затем попробуйте сделать анимированный значок. Большая часть браузера не поддерживает значок gif
, поэтому вам нужно обновить значок за каждые несколько секунд.
Это демонстрационный код:
var favicon_images = [];
for (var i = 1; i <= 12; i++)
favicon_images.push('./icon/' + i + '.png');
var image_counter = 0;
setInterval(function() {
var link = document.querySelector("link[rel*='icon']") || document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'shortcut icon';
link.href = favicon_images[image_counter];
document.getElementsByTagName('head')[0].appendChild(link);
if(image_counter == favicon_images.length -1)
image_counter = 0;
else
image_counter++;
}, 150);
Я быстро создать демо. Demo
С помощью этой демонстрации вы можете обнаружить, что анимация значков не работает плавно. Это потому, что каждый раз, когда мы обновляем значок, браузер снова запрашивает значок.
Поэтому преобразуйте изображение в формат base64, чем оно работает плавно.
Base64 demo
Теперь вам просто нужно найти значок загрузки же с Chrome
и другими популярными браузерами, а затем вызвать fake loading
при вызове Ajax.
Здесь я вставляю некоторые значок изменения учебника:
, что ваш вопрос? вы пытаетесь добавить «загружающий» образ на веб-страницу? – Jason
Нет, я пытаюсь запустить загрузку браузера. (Когда вы загружаете страницу, появляется индикатор выполнения и т. Д.) –
Единственное, о чем я могу думать, поскольку я не знаю, что стандартный API для индикатора браузера триггера должен был запускать запрос XHR, а затем добавить элемент iframe в страницы, загрузите в него страницу «ping» (страница, которая не будет отвечать до тех пор, пока XHR не будет завершена, что означает, что, вероятно, требуется блокировка на стороне сервера, например сеансы) и помещают обработчики событий в этот 'iframe' для обработки отмена загрузки браузера. И не забудьте зафиксировать историю, как только «iframe» закончил загрузку – Xenos