在JavaScript中,可以等待可用于指定页面加载完成时间的onLoad
。
每个 HTTP 响应都与包含服务器发送响应的时间的标头一起发送Date:
标头。
JavaScript 中有没有办法让页面开始加载的时间?类似于响应Date:
标头的内容。
一段时间延迟后注入页面的情况会很有用。
Chrome、Firefox、IE9 等中的new Date(performance.timing.connectStart)
(caniuse)
演示
console.log(new Date(performance.timing.connectStart));
尝试存储var d= new Date(); var requested = d.getTime();
中的值,并在页面加载时执行它。
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
var loadDate;
</script>
</head>
<body onload="loadDate=new Date();">
<button onclick="alert(loadDate);">show load Date</button>
</body>
</html>
2023 年更新
由于performance.timing.connectStart
已被弃用,我建议:
window.performance?.timeOrigin
这是我的代码来获得防弹的东西:
const sessionStartDateTime = window.performance?.timeOrigin ?? window.performance?.timing?.connectStart ?? Date.now();
来源:
- 窗口.性能.计时已弃用
- https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming
希望对:)有所帮助
我只会通过 cookie 或内联 JS 将时间戳从服务器端脚本传递到浏览器。 例如,在 PHP 中:
<script>
var timestamp = new Date(<?php echo time(); ?>);
</script>