首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在javascript中计算图片加载/渲染时间?

如何在javascript中计算图片加载/渲染时间?
EN

Stack Overflow用户
提问于 2013-03-29 16:03:43
回答 2查看 9.1K关注 0票数 1

有没有办法使用javascript/jquery在网页中找到图像加载/渲染时间?

EN

回答 2

Stack Overflow用户

发布于 2013-03-29 16:12:16

正确的答案是使用内置在浏览器中的开发工具,比如Chrome或Firefox/Firebug,它会告诉你页面中的所有资源加载需要多长时间。这些工具可以访问纯javascript可以访问的更多信息。

使用javascript,您可以精确地对使用javascript指定的图像的加载进行计时。您不能使用javascript精确计时HTML中指定的图像加载,因为没有精确的方法在图像开始加载的瞬间开始javascript时间测量。

要对javascript中指定的图像计时,请执行以下操作:

代码语言:javascript
复制
var startTime = new Date().getTime();
var img = new Image();
img.onload = function() {
    var loadtime = new Date().getTime() - startTime;
    console.log("image took " + loadtime + "ms to load");
};
img.src = "http://www.whatever.com/testimg.jpg";

对于在HTML中指定的图像,您可以执行的最好操作是:

代码语言:javascript
复制
<script>
var startTime = new Date().getTime();
function doneLoading() {
    var loadtime = new Date().getTime() - startTime;
    console.log("image took " + loadtime + "ms to load");
};    
</script>
<img src="http://www.whatever.com/testimg.jpg" onload="doneLoading()">

上一个示例中的<script>标记需要紧跟在<img>标记之前。

但说真的,使用Chrome或Firebug中的开发工具,你可以确切地看到加载所有页面资源需要多长时间。

票数 6
EN

Stack Overflow用户

发布于 2017-05-13 03:36:23

代码语言:javascript
复制
var resourceList = window.performance.getEntriesByType("resource");
           for (i = 0; i < resourceList.length; i++)
           {
              if (resourceList[i].initiatorType == "img")
              {
                 alert("End to end resource fetch: "+ (resourceList[i].responseEnd - resourceList[i].responseStart ));
              }
           }

https://jsfiddle.net/q4euntat/5/

你可以参考上面的链接,在jsfiddle上实现它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15699556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档