HTML图像映射&预加载图像

时间:2009-09-22 20:50:39

标签: image preloading

我已经构建了相当大的旧式HTML图像映射。将鼠标悬停在区域标记上时,会加载另一个替换整个地图的图像。总共有30个鼠标悬停图像,为了避免加载延迟,我使用jQuery预加载它们。

Firebug Net面板显示正在加载的所有图像都在页面加载(尚未触发鼠标悬停)。现在,当我将鼠标移到某个区域时,firebug会再次显示此图像正在请求。尽管事实上我清楚地看到文件名在萤火虫中高出几行。

这是正常行为吗?似乎预加载工作......但鼠标悬停仍然向服务器发送请求以获取图像,导致图像交换前1-2秒延迟。

这都是直接的HTML,没有涉及AJAX。

THX

3 个答案:

答案 0 :(得分:0)

您可能需要调整Web服务器上的缓存配置,以便浏览器知道不要重新下载图像。

答案 1 :(得分:0)

当Firebug未打开时,您是否看到1-2秒延迟?我遇到了类似的问题,并且永远不会真的告诉它是否真的再次请求图像。在拖尾我的日志时也不会看到新的请求。此外,我在浏览Safari检查器时从未看到过这种行为,因此我将其归结为Firebug。

答案 2 :(得分:0)

可以将一个图像链接到特定部分的特定图像中的多个页面。

这称为Html中的图像映射。

您只需指定图像的哪些区域应链接到哪里。

在下面的示例中,如果您将鼠标放在左上角,它会链接到xyz.com ....并在右下角....它链接到abc.com。

<img src="test.jpg" usemap = #example border=0> 
<map name=example>
<area shape=Rect Coords=0,0,29,29 Href="http://www.example.com"> 
<area shape=Rect Coords=30,30,59,59 Href="http://www.example.com"> 
</map> 

在上面的例子中,我们只使用了矩形图像映射。 我们可以使用一些不同的形状,如圆形或三角形可能的形状是: