我多久前加载了一个页面?
How long ago did I load a page?
有没有一种方法可以使用 javascript 获取页面加载的时间,而无需在页面加载时先将时间记录到 javascript 变量?我希望创建一个 scriptlet(javascript 书签),我可以在任何网页上 运行 并让它输出自浏览器加载页面以来经过了多少时间。
到目前为止,我发现的所有 "time spent on a page" 解决方案都依赖于记录页面首次加载的时间,这需要访问修改站点或浏览器插件。是否没有在页面加载(开始、完成等)时存储的文档 属性 可以在 javascript 中访问?
您可以使用 window.performance.timing.loadEventEnd
:
> performance.timing.loadEventEnd
1424280020354
window.performance.timing
为以下页面加载生命周期事件提供时间戳,顺序为:
- 导航开始
- unloadEventStart
- unloadEventEnd
- redirectStart
- 重定向结束
- 获取开始
- domainLookupStart
- domainLookupEnd
- 连接开始
- 连接结束
- secureConnectionStart
- 请求开始
- 响应开始
- 响应结束
- domLoading
- domInteractive
- domContentLoadedEventStart
- domContentLoadedEventEnd
- domComplete
- loadEventStart
- loadEventEnd
来源:Navigation Timing API on MDN
导航计时 API 当前受大多数现代浏览器支持。例外:OSX 上的 Safari < 8、iOS 上的 Safari 和 Opera Mini。 - caniuse.com.
有没有一种方法可以使用 javascript 获取页面加载的时间,而无需在页面加载时先将时间记录到 javascript 变量?我希望创建一个 scriptlet(javascript 书签),我可以在任何网页上 运行 并让它输出自浏览器加载页面以来经过了多少时间。
到目前为止,我发现的所有 "time spent on a page" 解决方案都依赖于记录页面首次加载的时间,这需要访问修改站点或浏览器插件。是否没有在页面加载(开始、完成等)时存储的文档 属性 可以在 javascript 中访问?
您可以使用 window.performance.timing.loadEventEnd
:
> performance.timing.loadEventEnd
1424280020354
window.performance.timing
为以下页面加载生命周期事件提供时间戳,顺序为:
- 导航开始
- unloadEventStart
- unloadEventEnd
- redirectStart
- 重定向结束
- 获取开始
- domainLookupStart
- domainLookupEnd
- 连接开始
- 连接结束
- secureConnectionStart
- 请求开始
- 响应开始
- 响应结束
- domLoading
- domInteractive
- domContentLoadedEventStart
- domContentLoadedEventEnd
- domComplete
- loadEventStart
- loadEventEnd
来源:Navigation Timing API on MDN
导航计时 API 当前受大多数现代浏览器支持。例外:OSX 上的 Safari < 8、iOS 上的 Safari 和 Opera Mini。 - caniuse.com.