Предварительная загрузка внешних javascripts, изображений и CSS-файлов - PullRequest
2 голосов
/ 30 марта 2011

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

Я думаю, что я являюсь веб-приложениемВполне допустимо, чтобы экран предварительной загрузки появлялся после того, как пользователь вошел в систему и до того, как он достиг панели управления.На этой странице я хочу вызвать все внешние сценарии, CSS-файлы и изображения, которые нужно загрузить в браузер, чтобы они извлекались из локального кэша, а не загружались по требованию во время работы приложения.

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

Спасибо, Тим

Ответы [ 3 ]

1 голос
/ 30 марта 2011

http://requirejs.org/ для загрузки скрипта. Не уверен насчет css. Кроме того, вы не знаете, на какой платформе вы работаете, но jammit для рельсов отлично подходит для управления активами.

0 голосов
/ 30 марта 2011

Вы можете:

  1. Разделите страницу на два элемента iframe или DIV
  2. При загрузке страницы просто покажите iframe с анимацией «загрузка ...»
  3. Исходный URL второго iframes должен быть пустым для начала. При загрузке страницы установите фактический URL страницы. Этот iframe должен быть скрыт.
  4. При завершении загрузки для этого iframe скрыть «загрузочный» iframe и показать его.
0 голосов
/ 30 марта 2011

Хотя я не видел вопроса там, я предполагаю, что мы говорим об ускорении загрузки веб-страницы.

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

У вас есть 3 основных способа сократить время загрузки:

  • Уменьшить HTTP-запросы
  • Уменьшить размер загрузки
  • Переместите статический контент ближе к клиенту

Combres (.NET) отлично подходит и обрабатывает конкатенацию и минимизацию скриптов и CSS.Я уверен, что есть что-то подобное для других технических стеков.Это ограничивает количество загружаемых файлов (также обеспечивает минификацию)

Также убедитесь, что вы используете спрайты CSS.Это ограничивает количество загружаемых изображений

Что касается размера:

Вы не упомянули технический стек, на котором находитесь, но попробуйте взглянуть на некоторые библиотеки минимизации сценариев (YUI Compressor и т. Д.).

Также убедитесь, что вы используете GZip (через конфигурацию IIS или на оборудовании через балансировщик нагрузки или что-то еще)

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

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

У Yahoo есть отличное руководство по этому вопросу: http://developer.yahoo.com/performance/rules.html

...