多久以前我加载了一个页面

How long ago did I load a page?

本文关键字:一个 加载      更新时间:2024-01-28

有没有一种方法可以在不首先在页面加载时将时间记录到javascript变量的情况下,使用javascript加载页面的时间?我希望创建一个scriptlet(javascript书签),我可以在任何网页上运行,并让它输出浏览器加载页面后经过的时间。

到目前为止,我发现的所有"花在页面上的时间"解决方案都依赖于记录页面首次加载的时间,这需要访问以修改网站或浏览器插件。是否没有存储页面加载(开始、完成等)时的文档属性,可以用javascript访问?

您可以使用window.performance.timing.loadEventEnd:

> performance.timing.loadEventEnd
1424280020354

window.performance.timing按顺序为以下页面加载生命周期事件提供时间戳:

  • 导航开始
  • unloadEventStart
  • 卸载事件结束
  • 重定向启动
  • 重定向结束
  • fetchStart
  • 域查找开始
  • 域查找结束
  • connectStart
  • connectEnd
  • secureConnectionStart
  • requestStart
  • responseStart
  • 响应结束
  • domLoading
  • domInteractive
  • domContentLoadedEventStart
  • domContentLoadedEventEnd
  • domComplete
  • loadEventStart
  • 加载事件结束

来源:MDN 上的导航定时API

目前大多数现代浏览器都支持导航定时API。例外:Safari<OSX上的8,iOS上的Safari和Opera Mini。-caniuse.com.