Прогресс загрузки страницы AJAX
Я хочу получить ход моего запроса AJAX - сколько было загружено так далеко от того, сколько файлов. Например, я загружаю большое изображение с помощью AJAX, поэтому я могу поместить содержимое в URL-адрес DATA (это может быть не лучший способ сделать это, это просто пример.)
Итак, я делаю запрос AJAX на какой-то хост, у меня нет контроля над (flickr), и сообщать о достигнутом прогрессе пользователю. Я не могу найти способ сделать это без серверной стороны script или что-то в этом роде. Предпочтительно, решение будет использовать JQuery, потому что это то, что я использую для своего сайта.
Благодарю! Исаак
Ответы
Ответ 1
Насколько я знаю, функция $.ajax() не поддерживает "загруженные байты". У этого есть только начальные и полные события, никакого события прогресса.
Я нашел этот поток, подробно описывающий попытку, но, видимо, код работает в нескольких браузерах, но не в IE. Предложение, которое они делают, это показать прогресс в других браузерах и простое сообщение "загрузка..." для IE.
Обратите внимание, что на одном и том же сайте существует несколько подобных обсуждений, поэтому просмотрите левую панель для других методов.
Ответ 2
В некоторых браузерах предусмотрена поддержка событий статуса загрузки, где вы можете отслеживать прогресс (я знаю, что ff 3.5+ делает).
Это выполняется ajax XHR.
Вы можете прочитать здесь и здесь
также можно разбить файл в массиве (допустим, мы разделим его на 10 штук),
теперь отправьте 1peace и верните успешные результаты после, progress = 10% и т.д.