Javascript 推送(trackPageLoadTime';)是如何工作的?
谷歌分析网站的Speed功能,Javascript 推送(trackPageLoadTime';)是如何工作的?,javascript,performance,html,google-analytics,Javascript,Performance,Html,Google Analytics,谷歌分析网站的Speed功能,\u gaq.push([''u trackPageLoadTime'])是如何工作的?有关于它如何工作的文档吗?编辑:截至2011年11月16日。(从功能上讲,它已经从选择加入功能转变为选择退出功能。) \u setSiteSpeedSampleRate是用于设置此功能的采样率的新功能;其默认值为1(如1%)。要退出使用此站点速度功能,您必须向此功能传递0: _gaq.push(["_setSiteSpeedSampleRate", 0]); 从: 此报告当前
\u gaq.push([''u trackPageLoadTime'])
是如何工作的?有关于它如何工作的文档吗?编辑:截至2011年11月16日。(从功能上讲,它已经从选择加入功能转变为选择退出功能。)
\u setSiteSpeedSampleRate
是用于设置此功能的采样率的新功能;其默认值为1
(如1%)。要退出使用此站点速度功能,您必须向此功能传递0
:
_gaq.push(["_setSiteSpeedSampleRate", 0]);
从: 此报告当前支持 以下浏览器:Chrome、Internet Explorer 9和早期版本的 Internet Explorer和谷歌 工具栏已安装。更具体地说, 站点速度报告要求 支持HTML5的浏览器 NavigationTiming接口或具有 谷歌浏览器工具栏 安装 因此,它没有像以前的homeback解决方案那样实现自己的计时器来计算加载页面所需的时间。相反,它使用了一个新的HTML5功能,目前仅在上面列出的案例中支持,称为NavigationTiming 编辑:现在在中支持此功能 (需要注意的是,它并不是在每次加载时都运行;相反,它目前对大约2%的页面浏览量进行采样,尽管它被配置为在10%的访问量上尝试跟踪所有页面加载;随着越来越多的浏览器支持NavigationTiming API,您可以预期总采样百分比开始接近10%。) 此接口在DOM对象
window.performance
(或者在早期版本的Chrome中,window.webkitPerformance
)下使用timing
属性访问(因此,window.performance.timing
)。该对象存储所有关键页面加载事件时间的测量值,Google Analytics减去2个更重要的外部值来判断页面加载速度
对于没有缓存的Mashable.com负载,下面是一个它测量的示例(在Chrome11中):
这些数字是历元毫秒,或自1970年1月1日以来的毫秒。我还没有看到任何文档说明它们减去哪些值来生成它们的值,但是从对的粗略检查来看,似乎是loadEventStart fetchStart
:
h&&h[c]!=k&&h.isValidLoadTime?b=h[c]:e&&e[a]&&(b=e[a].loadEventStart-e[a].fetchStart);
对于上面的示例,这意味着它将在\u trackPageLoadTime
调用中记录4.14秒
来自W3C导航计时规范:
如果新的
要使用HTTP获取资源
GET或等效项,fetchStart必须
返回事件发生前的时间
用户代理开始检查任何
相关应用程序缓存。
否则,它必须返回时间
当用户代理开始抓取时
资源
这个
属性必须返回时间
紧接着的负载事件之前
将激发当前文档的。信息技术
加载事件时必须返回零
他还没有被解雇
对于好奇的当事人,顺序如下:
连接开始,连接结束,
domainLookupStart、domainLookupEnd、,
fetchStart、navigationStart、,
请求启动,响应启动,
加载、响应、,
domContentLoadedEventStart,
多米诺互动,
DOMContentLoadedEventd,DOMPlete,
loadEventStart,loadEventEnd
对于列出的0值:
unloadEventStart
和unloadEventStart
显示上一页加载卸载的时间(但仅当该页与当前页具有相同的原点时)
redirectEnd
和redirectStart
测量页面加载链中存在HTTP重定向时增加的延迟
secureConnectionStart
似乎是测量SSL连接时间的可选测量值 @stuken.yuri这是Google Analytics异步调用的语法。它的基本意思是:将函数(name)\u trackPageLoadTime
添加到队列中,然后在加载ga.js后按顺序启动该队列中的所有函数。它可以让你安全地异步加载ga.js
。你真是太棒了。感谢您如此详尽的回答。secureConnectionStart
是一种标准的测量方法,但对于浏览器(或任何处理内容的工具)来说,报告是可选的。
h&&h[c]!=k&&h.isValidLoadTime?b=h[c]:e&&e[a]&&(b=e[a].loadEventStart-e[a].fetchStart);