繁体   English   中英

检查图像是否已使用 jQuery 缓存

[英]Check if image is already cached with jQuery

我需要将 a.load function 添加到图像中,但是,如果图像已被缓存,我不希望添加此 function,主要是因为在 that.load ZC1C425268E68385D14AB5074C17A 中我淡入了加载指示器并隐藏了加载指示器。

如果图像已经被缓存,我不需要这些。 有没有办法检查它是否在缓存中?

谢谢,韦斯利

我很欣赏这个问题是不久前提出的,但我一直在寻求解决同样的问题,如果其他人遇到这个问题,这就是我解决它的方法。

我使用了具有 200 毫秒延迟的 window.setTimeout() 调用了我的预加载器效果,并且在加载图像的 .load() 事件中,它所做的第一件事就是清除超时,所以如果加载很快 - 没有效果显示,但如果图像加载时间超过 200 毫秒,则会显示预加载器:

var imgTmr;

imgTmr = window.setTimeout(function() {showLoading('zoomImage');}, 200);

$("#zoomImage").load(function() {
    window.clearTimeout(imgTmr);
    hideLoading();
}

$("#zoomImage").attr("src", "myLargeImage.jpg");

// The showLoading() and hideLoading() functions just display a wait graphic 
// the image being loaded in this instance has the id of zoomImage

通常我只是将加载事件留在原处。 即使图像被缓存,从您的计算机加载它也需要几毫秒(取决于大小和计算机处理速度)。 加载仍然发生,只是不是来自同一来源。 因此,无论是否缓存,您都应该将加载事件绑定到它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM