как предварительно загрузить изображения для мобильного сайта (например, http://m.youtube.com/, http://m.zoosk.com/)

Я использовал этот метод: CSS Throwdown - предварительная загрузка изображений без JavaScript. Автор Джефф Старр - http://perishablepress.com/press/2007/07/22/css-throwdown-preload-images-without-javascript/

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


person Community    schedule 15.09.2009    source источник


Ответы (3)


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

Мне кажется, что этот метод предварительной загрузки изображений отлично работает в мобильных браузерах - я очень сомневаюсь, что мобильные браузеры, «оптимизирующие», не загружают изображения, не отображаются.

person Dominic Rodger    schedule 15.09.2009
comment
Спасибо Доминик. Скорее всего, это не самая лучшая мобильная связь. Нет, похоже, что предварительная загрузка вообще не происходит. Я использую значки только на целевой странице, загрузка которой занимает много времени, хотя я указал ширину и высоту, которые значок в конечном итоге загрузится после того, как все будет загружено. Я просмотрел некоторые справочные сайты с большим количеством изображений, которые загружаются практически мгновенно с того же телефона. Я просмотрел их исходный код и не могу подобрать какой-либо сценарий предварительной загрузки или CSS. Я немного в тупике, поэтому вопрос, есть ли другой способ, о котором я не знаю. Еще раз спасибо за ответ. - person ; 15.09.2009
comment
Привет, Крис, единственное, что я могу подумать, это то, что, возможно, соединение с вашим сервером не так хорошо, как у YouTube, но тогда оно будет медленным и в обычном браузере. Какой мобильный браузер вы используете? Вы пробовали другие методы предварительной нагрузки? - person Dominic Rodger; 15.09.2009
comment
Привет, Доминик. Я тестирую браузер по умолчанию на нескольких телефонах, но время от времени использую Opera mini. Я не пробовал никаких методов предварительной загрузки, требующих javascript - моя брифинг не позволяет мне использовать javascript для этого сайта. Сейчас я занят заменой значков на решение для спрайтов CSS, чтобы увидеть, как это влияет на время загрузки страницы - меньшее количество HTTP-запросов и меньший общий размер загружаемого файла. Не могли бы вы случайно порекомендовать какие-либо альтернативные методы предварительной нагрузки? С уважением Крис - person ; 16.09.2009
comment
Спрайты могут помочь - хотя это будет означать дополнительный CSS, и вам придется подождать, пока загрузится все изображение спрайта, прежде чем появятся какие-либо изображения. Я не могу придумать лучшего способа сделать это. - person Dominic Rodger; 16.09.2009

Если мобильный браузер не поддерживает javascript (или достаточно хорошо поддерживает javascript), предварительная загрузка таким образом может не работать.

Я ожидаю, что предварительная загрузка с помощью javascript будет работать в любом браузере или прокси-сервере, которые используют транскодирование или предварительную визуализацию на сервере, также не похоже.

Вы пробовали использовать старую школу (90-х годов) для предварительной загрузки, которая должна была включать изображение на главную (или даже на каждую страницу), но размером 1px на 1px (также можно попробовать 0x0). Это может означать, что пользователь платит за скачивание большего количества контента, чем ему нужно. Этот вопрос следует рассмотреть.

Первое, что нужно сделать: убедиться, что изображение вам действительно нужно; сделать его как можно меньше (физический размер и сжатие при кодировании изображений); и [gzip] сжимает файл при его отправке по HTTP. Также убедитесь, что вы делаете все возможное, чтобы позволить браузеру пользователя / клиента правильно кэшировать изображения.

person Matt Lacey    schedule 25.09.2009
comment
Вы действительно читали связанную статью? Он в значительной степени описывает ваш путь и не использует JavaScript. - person Konrad Rudolph; 02.10.2009
comment
да, спасибо Конрад. В вопросе, который я упомянул, это также метод, который я использовал на сайте, однако он казался немного медленным при начальной загрузке. С комбинацией настройки сжатия, метода предварительной загрузки CSS и кеша браузера, похоже, подходит для этого проекта, по крайней мере, на данный момент. С Уважением - person ; 02.10.2009
comment
Конрад - Ага, я неправильно понял исходный вопрос и просто сделал несколько общих замечаний по поводу предварительной загрузки на мобильных устройствах. Другие общие вещи, которые следует учитывать, - это транскодеры и браузеры, которые потенциально могут отображать до указанного размера, а затем должны повторно визуализировать изображение с фактическим желаемым размером. Крис, вы проверили, что запрос изображения отправляется на сервер при попытке предварительной загрузки? - person Matt Lacey; 02.10.2009

Если ваш сайт будет ориентирован на мобильные устройства, а не только на тот, который вы тестируете, у вас могут возникнуть трудности с поиском универсального решения, которое будет работать во всех мобильных браузерах. Если вы хотите сократить время загрузки изображения, возможно, вам стоит рассмотреть возможность регулировки сжатия изображения, чтобы уменьшить его размер?

person James Goodwin    schedule 02.10.2009
comment
спасибо, в конце концов отрегулировал сжатие с помощью предварительной загрузки CSS, и, похоже, на данный момент он работает нормально, начальная загрузка немного медленная, но с этого момента браузер также кеширует значки, что помогает. - person ; 02.10.2009