所以他们更快地加载其他无处不在页面上如何预加载图像,这是一个好的做法呢?

StackOverflow https://stackoverflow.com/questions/1901477

事情是这样的:我有一个谷歌地图在了很多标记

的问题是,在地图上的负荷,一小会儿保持为空,然后才显示标记。这些标记定制PNG图像。

我的想法是“预加载”他们(不知道这是正确的字),所以它们在同一时间在地图几乎出现。

我所做的到目前为止是增加我用的是相同的图像在我的地图,地图之外,此前在页面display:none;

我不知道,但好像都显示已经减少地图和图像之间的时间。

时,它做它的最佳途径,这是一个好的做法呢?

有帮助吗?

解决方案

您可以使用“精灵”,即单独的图像的1个单PNG的集合。这证明,仅需要1负载即较少单独的负载的优点。谷歌GWT推动该技术很多(即像束)。

的离散图像的数量需要装载该技术的值增加:越单独的图像,时间越长加载它们

其他提示

不要使用display:none用于预加载。由于设置为display:none元素不会呈现的任何的其物理属性,浏览器不,直到它的可见懒得下载。

另一种方法是使用visibility:hidden,但在运行运行到,做几乎同样的事情,用户代理的风险。 visibility:hidden要求浏览器计算的图像,这就要求加载图像框模型(以获得尺寸)。我不相信这部作品在IE6,虽然。

在过去的技术(和我最喜欢的)是直接您</body>标签之前创建一个div。它定位绝对与left: -99999999px; top: -99999999px。该浏览器被强制呈现图像(并且因此加载它们),并没有混乱的Javascript来处理。

现在,将它与您的问题整合,把代码为你的谷歌地图的之后的你的“预载格”。您的浏览器将被强制运行代码来创建地图之前加载图像。这应该解决您的问题。

希望这有助于!

这是我记得的最现代的浏览器,图像总是加载一次(给定图像的src是相同的)。我猜地图加载之前你的意思是加载它们。

在我看来,在没有真正的问题那么多。相比于地图图像本身的标记应该是相对轻的并且我真的不能使用,而不必在地图反正。

如果你认为它改善你的用户体验,那么我认为这是一个很好的做法,但我会在页面加载初期尽量让他们在一个更清洁的方式,可能是一个Ajax调用?

的Ajax看一看在操作:预加载图像

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top