用js计算页面执行时间的函数

yizhihongxing

首先,在计算页面执行时间之前,需要先记录页面开始加载的时间和页面加载完成的时间。我们可以使用window对象的performance属性来实现。

页面开始加载的时间:

const loadStartTime = window.performance.timing.navigationStart;

页面加载完成的时间:

window.onload = function () {
    const loadEndTime = window.performance.timing.loadEventEnd;
    const loadTime = loadEndTime - loadStartTime;
    console.log(`页面加载完成,页面执行时间为${loadTime}毫秒`);
}

接下来,我们可以将以上代码封装成一个函数。示例代码如下:

function getPageLoadTime() {
    const loadStartTime = window.performance.timing.navigationStart;
    window.onload = function () {
        const loadEndTime = window.performance.timing.loadEventEnd;
        const loadTime = loadEndTime - loadStartTime;
        console.log(`页面加载完成,页面执行时间为${loadTime}毫秒`);
    }
}

getPageLoadTime();

运行以上代码,当页面加载完成后,便会在控制台打印出页面执行时间,方便我们进行调试和优化。

另外,我们也可以通过判断DOM是否加载完成来计算页面执行时间。示例代码如下:

function getDOMLoadTime() {
    const loadStartTime = new Date().getTime();
    if (document.readyState === 'complete') {
        const loadEndTime = new Date().getTime();
        const loadTime = loadEndTime - loadStartTime;
        console.log(`DOM加载完成,页面执行时间为${loadTime}毫秒`);
    } else {
        document.addEventListener('DOMContentLoaded', function () {
            const loadEndTime = new Date().getTime();
            const loadTime = loadEndTime - loadStartTime;
            console.log(`DOM加载完成,页面执行时间为${loadTime}毫秒`);
        });
    }
}

getDOMLoadTime();

以上代码中,我们使用了document对象的readyState属性来判断DOM是否加载完成,如果加载完成则直接计算页面执行时间,否则通过DOMContentLoaded事件来计算页面执行时间。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用js计算页面执行时间的函数 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • js实现时间日期校验

    JS实现时间日期校验需要用到正则表达式,下面我将介绍实现这一过程的完整攻略。 步骤一:获取输入框的值 首先,我们需要获取输入框中用户输入的值,可以使用document.getElementById()方法获取对应输入框的元素对象,进而获取输入框中的值: let inputDate = document.getElementById(‘date’).value…

    JavaScript 2023年5月27日
    00
  • javascript动态加载实现方法一

    首先我们需要明确一下“javascript动态加载”是什么意思。 “javascript动态加载”指的是通过JavaScript在网页运行过程中动态加载(或移除)外部脚本或样式表等资源文件,而不是在HTML中直接使用<script>或<link>标签引用。 接下来我们来介绍一下“javascript动态加载实现方法一”的完整攻略,包括…

    JavaScript 2023年5月27日
    00
  • 浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用

    下面我来详细讲解“浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用”的完整攻略。 一、什么是 JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSON 数据格式如下所示: { "name": "Michael", "age"…

    JavaScript 2023年5月27日
    00
  • JavaScript流程控制(分支)

    好的!首先,让我们先确定一下“JavaScript流程控制(分支)”的范畴。在JavaScript中,流程控制主要有三种,分别是分支结构、循环结构和跳转结构。而“JavaScript流程控制(分支)”指的是通过条件判断,执行不同代码路径的流程控制方式。 在JavaScript中,常用的条件判断有if…else和switch两种。下面我们将介绍这两种方法的…

    JavaScript 2023年5月27日
    00
  • JS正则表达式必须包含数字、字母、特殊字符

    关于JS正则表达式必须包含数字、字母、特殊字符的攻略,主要分为以下几个步骤: 1. 确定正则表达式表达目标 我们要使用正则表达式对用户输入的密码进行验证,确保密码由数字、字母、特殊字符组成。因此,我们需要确定明确的目标,即密码必须包含数字、字母、特殊字符。 2. 编写正则表达式 我们可以编写以下正则表达式来验证密码是否包含数字、字母、特殊字符: /^(?=.…

    JavaScript 2023年6月10日
    00
  • 关于javascript中this关键字(翻译+自我理解)

    关于JavaScript中this关键字的理解是前端开发中至关重要的一部分,因为它涉及到了JavaScript中的作用域和上下文。以下是关于JavaScript中this关键字的翻译和自我理解的攻略。 什么是this关键字? 在JavaScript中,this是一个特殊的关键字,它表示当前作用域下的对象。但是,它的值在执行上下文中是动态变化的,因此需要特别注…

    JavaScript 2023年6月10日
    00
  • JS防抖节流函数的实现与使用场景

    JS防抖节流函数的实现与使用场景 什么是JS防抖和节流? 防抖:是指在一段时间内,多次触发同一事件,只执行一次函数。即当一连串的操作被触发时,只有最后一个操作被执行而前面的操作都被忽略了。 节流:是指在一段时间内,多次触发同一事件,只执行一次函数。即在规定的时间内,重复触发只会响应一次,并阻止事件触发后一段时间内的操作。 防抖函数实现及使用场景 实现 fun…

    JavaScript 2023年6月11日
    00
  • JS动态添加元素及绑定事件造成程序重复执行解决

    JS动态添加元素及绑定事件是Web开发中常见的操作,可以让网页在用户交互过程中更加灵活,但有时候可能会遇到程序重复执行的问题。为了解决这个问题,我们可以采取以下方法。 1. 使用事件委托 事件委托是一种基于事件冒泡的机制,可以将事件绑定到父节点上,解决动态添加元素重复绑定事件的问题。具体操作如下: //绑定事件 document.querySelector(…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部