Справочная информация:
Я пытаюсь разработать плагин экрана загрузки, который можно интегрировать в нашу мобильную мультимедийную рекламу. Некоторые из этих объявлений используют несколько изображений для анимации в стиле флипбук, поэтому что-то вроде этого было бы действительно полезно. Он должен работать на iPhone 4.0+ и Android 2.2+ и, в идеале, на Windows Phone 7.1.
То, как я кодировал загрузочные экраны в прошлом, я создавал серию объектов изображения и устанавливал в качестве источника URL-адрес изображения. Затем для каждого события onload, onerror или onabort для этого объекта я бы увеличивал процесс загрузки на 1 и отображал его на оверлее экрана загрузки.
Однако, по предложению члена команды, я проводил некоторые исследования по использованию URI данных для непосредственного кодирования данных изображений на веб-странице с использованием PHP. Единственный недостаток этого подхода - медленное открытие веб-страницы при большом количестве изображений.
Несколько дней назад я обнаружил сообщение в блоге Марка Колича , в котором он использовал data uri для кодирования серии изображений в сценарии на стороне сервера, обернул его в ответ json, а затем отправил все эти файлы изображений обратно в его веб-приложение. Однако это хорошая идея, если бы я использовал эту концепцию на своем экране загрузки, тогда прогресс загрузки увеличился бы с 0% до 100% в одном запросе ajax. В результате, если процесс загрузки занимает несколько секунд, этого может быть недостаточно для стимулирования реакции, чтобы сохранить интерес посетителя. Мне нужно показать некоторый прогресс в середине.
Чтобы сделать:
Поэтому мне нужно взять метод Марка и выяснить, как я могу сделать ответы немного более реалистичными. Я хочу сделать так, чтобы я мог отправить один AJAX-запрос со списком изображений в мой php-скрипт загрузчика и заставить мой php-скрипт отвечать на запросы множественными ответами с обновлениями каждый раз (или каждый раз, или каждый 5-й и т. Д.) Успешно закончил чтение и кодирование этих изображений.
Я понимаю, что, возможно, я слишком усложняю это; что php-скрипт будет обрабатывать эти изображения так быстро, что болтовня о коде на стороне клиента будет бессмысленной, потому что это будет сделано в кратчайшие сроки. В этом случае может иметь больше смысла имитировать процесс загрузки, связанный с этими изображениями, с помощью setTimeouts, пока не вернется ответ JSON. Или я могу быть на правильном пути, и есть определенный порог, я должен начать принимать этот подход во внимание, потому что время загрузки занимает слишком много времени.
Есть идеи? Есть примеры?