当前位置: 首页 > 面试题库 >

在JavaScript中计算页面加载时间

山森
2023-03-14
问题内容

我正在尝试制作一个网页,当它开始加载时,使用一个间隔来启动计时器。

页面完全加载后,它将停止计时器,

但是即使有更长的时间,我有99%的时间获得了0.00或0.01的时间测量值。

有时,它说的东西有时更有意义,例如.28或3.10。

如果有帮助,请参见以下代码:

var hundredthstimer = 0;
var secondplace = 0;

function addinc(){

    hundredthstimer += 1;
    if (inctimer == 100){
        hundredthstimer = 0;
        secondplace += 1;
    }

}

var clockint = setInterval(addinc, 10);

function init(){
    var bconv1 = document.getElementById("bconverter1");
    var bconv2 = document.getElementById("bconverter2");

    $(bconv2).hide();

    clearInterval(clockint);

    if (inctimer.len !== 2){
        inctimer = "0" + inctimer;
    }
    alert(secondplace + "." + inctimer);
}
onload = init;

因此,它基本上会创建一个称为百分百的变量,该变量每10毫秒(.01秒)增加1。

然后,如果该数字达到1000(1整秒),则称为secondsplace的变量将增加1,因为它已运行了整整秒数。

然后,它警告秒位,小数点和百分之一百位作为总加载时间。

但是上面的数字错误问题仍然存在。为什么?


问题答案:

永远不要使用setIntervalsetTimeout功能进行时间​​测量!它们不可靠,很有可能在文档解析和显示期间JS执行调度被延迟。

相反,在页面开始加载时,使用该Date对象创建时间戳记,并计算页面完全加载时的时间差:

<doctype html>
<html>
    <head>
        <script type="text/javascript">
            var timerStart = Date.now();
        </script>
        <!-- do all the stuff you need to do -->
    </head>
    <body>
        <!-- put everything you need in here -->

        <script type="text/javascript">
             $(document).ready(function() {
                 console.log("Time until DOMready: ", Date.now()-timerStart);
             });
             $(window).load(function() {
                 console.log("Time until everything loaded: ", Date.now()-timerStart);
             });
        </script>
    </body>
</html>


 类似资料:
  • 问题内容: 这有点难以解释,所以我会尽力而为 因此,在加载HTML页面时,我希望有一个很酷的加载屏幕在显示。完成加载后,我希望清除加载屏幕并显示HTML文档。 基本上,我想要这样: CSS: HTML: 页面加载时发生的情况。当页面加载时,将被清除,并显示HTML文档的其余部分。(我正在建立一个学分系统,虽然学分加载时我真的很需要它来说它正在加载,但是人们抱怨他们无法单击任何东西,我不得不告诉他们

  • 本文向大家介绍php简单计算页面加载时间的方法,包括了php简单计算页面加载时间的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php简单计算页面加载时间的方法。分享给大家供大家参考。具体实现方法如下: 简单的把开始时间放在页面头部,结束时间放在页面尾部,计算页面加载时间 希望本文所述对大家的php程序设计有所帮助。

  • 这是我的webview activity的代码。我想实现一个页面加载功能,当URL被调用时,它会在后台进行计数。如果URL在5000ms内没有完全加载,下面的代码必须自动运行。我想不出该怎么算。 我试过很多方法,但从来没有得到正确的结果。谢谢.

  • 问题内容: 我希望在发出ajax调用以更新数据库之前完全加载页面。我可以在body onload事件中调用javascript函数,以使页面完全加载,但是我不确定如何从那里触发Ajax调用。是否有更好的方法来实现此目的(页面加载后,Upadating数据库)? 问题答案: 使用JavaScript库确实很容易,例如使用jQuery,您可以编写: 如果没有jQuery,最简单的版本可能如下所示,但它

  • 问题内容: 传统上,要在页面加载后调用JavaScript函数,您需要在包含一些JavaScript的正文中添加一个属性(通常只调用一个函数) 页面加载后,我想运行一些JavaScript代码以使用服务器中的数据动态填充页面的某些部分。因为我使用的是JSP片段,所以我无法使用该属性,而JSP片段没有可以添加属性的元素。 还有其他方法可以在加载时调用JavaScript函数吗?我宁愿不使用jQuer

  • 问题内容: 我有一个PHP include,它需要一段时间才能加载,因为PHP必须获取很多数据。我不想放慢整个网页的加载,以等待包含此内容,那么如何使用ajax加载该包含内容呢?我不希望通过单击按钮来触发Ajax,而只是希望它在页面加载时加载包含,因此,如果您查看下面的示例,则会在显示内含代码的同时显示“更多HTML内容”。 php仍在加载中。 问题答案: 如果您使用的是jQuery,则可以使用他