小编Gaë*_*aël的帖子

如何知道图像是从用户的网络缓存中提取还是如何获得准确的加载时间?

我正在使用一个JavaScript脚本,告诉我是否在用户的浏览器缓存中缓存了特定的图像URL.我正在使用它,因为我构建了一系列非缓存图像,这些图像将在完成更重要的过程后单独加载.此脚本专为Google Chrome编写,因此我不需要跨浏览器解决方案.

我当前的函数检查加载图像所花费的时间,如果它小于几毫秒(目前为25毫秒),我认为它是从缓存中提取的.

通过查看Chrome开发人员工具中的资源面板,可以轻松手动查看缓存图像和非缓存图像之间的区别.当悬停加载时间时,Chrome会通过打印如下所示的工具提示来判断文件是否已从缓存中拉出:xx ms Latency, xx ms Download (from cache).

我注意到在某些情况下,延迟时间很长(例如64ms,下载时间仅为2ms)并且使得我的检测功能无用,因为总加载时间超过了我的阈值.不可能增加阈值,因为小的且未缓存的图像也可以在相同的时间内加载.

既然你遇到了我的问题,这就是我的问题:

- 是否有可能以100%准确的方式检查(例如chrome的资源面板)该文件来自缓存?(我想如果该小组这样做,必须有一种方法,但我无法在互联网上找到它)

要么

- 有没有办法将两个延迟(即延迟与下载)分开才能检查真正的下载时间?计算开始加载图像和onload事件之间所花费的时间将返回总时间.


感谢您阅读我的问题,即使您没有精确的解决方案,也欢迎提出想法和想法!

(PS:我不是母语为英语的人,所以请不要因为犯错而责怪我!)

盖尔

javascript time caching image loading

5
推荐指数
1
解决办法
6881
查看次数

标签 统计

caching ×1

image ×1

javascript ×1

loading ×1

time ×1