2013-10-05 125 views
0

我有一个ASP.NET MVC3网站,它使用了几个jQuery插件(jqGridjqPlot)。我不时地注意到,特别是当我用新的CSS开发新页面时,图像加载缓慢;有时会花一分多钟才会出现。用jQuery插件缓慢加载图像

在jqGrid上,我主要注意到这个来自jQuery UI精灵(images/ui-icons_6da8d5_256x240.png)的分页图标。

在jqPlot上,我注意到在使用具有图像背景的CSS类(url(/Content/images/gray_block.png))的自定义点标签上。

在这两种情况下,图像的路径都是有效的,但由于某些原因,它们出现的速度很慢。有没有人遇到类似的问题?

+0

是啊,我的解决办法是我使用全'CSS3'代码设计和背景我的裁剪图像1x1px –

+0

您可以扩展您的解决方案几分?我不完全遵循。不幸的是,我必须支持IE8。所以CSS3可能不是一个选项。 – Paul

+0

我怀疑这些图像是你的问题的原因。这个问题可能是由于响应时间缓慢造成的众多可能性,将代码阻塞为像404一样简单的事情。该网站是公开的吗?如果是这样,请发布链接。 – darshanags

回答

0

预加载图像解决了问题。我使用了解决方案here

<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();