Медленная загрузка изображений с помощью плагинов jQuery

0

У меня есть ASP.NET MVC3 сайт, который использует пару jQuery плагинов (jqGrid и jqPlot). Я заметил время от времени, особенно когда я разрабатываю новые страницы с новым CSS, что изображения медленно загружаются; иногда требуется больше минуты, чтобы появиться.

В jqGrid я в первую очередь замечаю это значками подкачки, которые исходят из спрайта jQuery UI (images/ui-icons_6da8d5_256x240.png).

В jqPlot я замечаю это на пользовательских меток точек, которые используют класс CSS с фоном изображения (url(/Content/images/gray_block.png)).

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

  • 0
    Да, и мое решение заключается в том, что я использую полный код CSS3 для дизайна и для фона я обрезать изображение 1x1px
  • 0
    Можете ли вы немного расширить свое решение? Я не полностью следую. К сожалению, я должен поддерживать IE8. Так что CSS3 не может быть вариантом.
Показать ещё 2 комментария
Теги:
jqgrid
asp.net-mvc-3
jqplot

1 ответ

0
Лучший ответ

Предварительная загрузка изображений устранила проблему. Я использовал решение здесь.

<script type="text/javascript">
    $.fn.preload = function () {
        this.each(function () {
            $('<img/>')[0].src = this;
        });
    }
</script>

// pre-cache icons
$(['@Url.Content("~/Content/images/orange_block.png")', 
   '@Url.Content("~/Content/images/yellow_block.png")', 
   '@Url.Content("~/Content/images/red_block.png")',
   '@Url.Content("~/Content/images/gray_block.png")',
   '@Url.Content("~/Content/themes/custom-theme/images/ui-icons_217bc0_256x240.png")'
 ]).preload();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню