图片的锚链接(href)是否会将其下载?

5

我在使用Firefox的yslow工具时发现我的页面加载速度非常慢。我的页面包含一张主要产品图片和大约10个缩略图。如果你点击缩略图,它会通过jquery弹出一个图片。问题是,yslow将缩略图的目标也列入了页面的加载量之中,因此这些图片也被下载了。

例如,我的页面有:

<a class="group nyroModal" rel="lightbox-group" href="/upload/topview.jpg">
<img alt="thumbnail" src="/upload/thumb/t_topview.jpg" />
</a>

这段常规的html会导致"upload/topview.jpg"自动下载吗?还是jquery插件"nyroModal"导致的?我不想让图片预加载,那会浪费很多带宽。
所以我的问题是,浏览器是否会自动尝试下载锚点href属性中的图像文件,还是插件最有可能导致这种情况?
感谢您能给我的任何指导。

根据您的设置方式,您可能希望考虑为这10个图像使用精灵。 - Justin
3个回答

6
不,浏览器不会自动下载那个 href。我猜你的jquery插件正在跟随链接预加载它。如何禁用这个功能可能在插件的文档中有说明。

是的,它必须在您的插件中。 - Shawn Steward
YSlow通常只检测实际发送的HTTP请求,因此您的jQuery插件要么是预加载图像,要么YSlow以某种方式知道该图像可能会被动态加载。我更相信第一种情况。 - S Pangborn

1

正如Squeegy所说,浏览器并不是自己在执行这个操作...我查看了nyroModal网站,发现它也不是该插件默认代码的一部分。

预加载图片不被认为是插件的一部分,因为您可能需要预加载其他网站的图片。如果需要这样做,可以使用此代码。

那么,您是否有其他代码在其他地方进行预加载?以下是一个基本的预加载图像函数,您可以使用它来查找正在发生预加载的位置。搜索您的代码以查找= new Image()部分,您可能会找到它。

  function preloadImg(image) {
    var img = new Image();
    img.src = image;
  }

0

你的代码是:

<a class="group nyroModal" rel="lightbox-group" href="/upload/topview.jpg">
 <img alt="thumbnail" src="/upload/thumb/t_topview.jpg" />
</a>

将其更新为,

<a download="imagename.jpg" href="/upload/thumb/t_topview.jpg">
<img alt="thumbnail" src="/upload/thumb/t_topview.jpg" />
</a>

享受.. :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接