我已经构建了相当大的旧式HTML图像映射。将鼠标悬停在区域标记上时,会加载另一个替换整个地图的图像。总共有30个鼠标悬停图像,为了避免加载延迟,我使用jQuery预加载它们。
Firebug Net面板显示正在加载的所有图像都在页面加载(尚未触发鼠标悬停)。现在,当我将鼠标移到某个区域时,firebug会再次显示此图像正在请求。尽管事实上我清楚地看到文件名在萤火虫中高出几行。
这是正常行为吗?似乎预加载工作......但鼠标悬停仍然向服务器发送请求以获取图像,导致图像交换前1-2秒延迟。
这都是直接的HTML,没有涉及AJAX。
THX
答案 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>
在上面的例子中,我们只使用了矩形图像映射。 我们可以使用一些不同的形状,如圆形或三角形可能的形状是: