Answers:
编辑:自2011年11月16日起,该_trackPageLoadTime
功能已弃用,其功能已设置为默认设置。(从功能上讲,它已从“选择加入”功能变为“选择退出”功能。)
_setSiteSpeedSampleRate
是用于在此功能上设置采样率的新功能;其默认值为1
(以1%为单位)。要选择不使用此站点速度功能,您必须将a传递0
给此功能:
_gaq.push(["_setSiteSpeedSampleRate", 0]);
该报告当前支持以下浏览器:Chrome,Internet Explorer 9和安装了Google工具栏的Internet Explorer的早期版本。更具体地说,“网站速度”报告要求浏览器支持HTML5 NavigationTiming界面或安装了Google Internet Explorer工具栏
因此,它没有实现自己的计时器,就像许多以前的Homeback解决方案一样,它无法确定页面加载需要多长时间。取而代之的是,它使用了新的HTML5功能,目前仅在上述情况下才受支持,称为NavigationTiming。
编辑:现在支持 Firefox 7
(需要注意的是,它并非在每次加载时都运行;相反,尽管它已配置为尝试在10%的访问中跟踪所有页面的负载;随着越来越多的浏览器支持NavigationTiming API,您可以预期总采样百分比将开始接近10%。)
使用属性(so,),可以在DOM对象下window.performance
(或在Chrome的早期版本中window.webkitPerformance
)访问此接口。该对象存储所有关键页面加载事件时间的测量值,并且Google Analytics(分析)减去2个更重要的外部值来判断页面加载速度。timing
window.performance.timing
对于没有缓存的Mashable.com负载,以下是其测量示例(在Chrome 11中):
timing = {
connectEnd: 1306677079337,
connectStart: 1306677079337,
domComplete: 1306677083482,
domContentLoadedEventEnd: 1306677081765,
domContentLoadedEventStart: 1306677081576,
domInteractive: 1306677081576,
domLoading: 1306677079478,
domainLookupEnd: 1306677079337,
domainLookupStart: 1306677079337,
fetchStart: 1306677079337,
loadEventEnd: 1306677083483,
loadEventStart: 1306677083482,
navigationStart: 1306677079337,
redirectEnd: 0,
redirectStart: 0,
requestStart: 1306677079394,
responseEnd: 1306677079669,
responseStart: 1306677079476,
secureConnectionStart: 0,
unloadEventEnd: 0,
unloadEventStart: 0
}
这些数字是纪元毫秒,或者是自1970年1月1日以来的毫秒。我还没有看到任何文档来说明它们减去哪些值以生成其值,但是从对ga.js的粗略检查来看,它看起来像是loadEventStart-fetchStart
:
h&&h[c]!=k&&h.isValidLoadTime?b=h[c]:e&&e[a]&&(b=e[a].loadEventStart-e[a].fetchStart);
对于上面的示例,这意味着它将在呼叫中记录4.14秒_trackPageLoadTime
。
如果要使用HTTP GET或等效方法来获取新资源,则fetchStart必须立即返回时间,用户代理必须立即开始检查所有相关的应用程序缓存。否则,它必须返回用户代理开始获取资源的时间。
此属性必须返回立即触发当前文档的加载事件之前的时间。当尚未触发load事件时,它必须返回零。
对于好奇的当事人,排序似乎如下:
connectStart,connectEnd,domainLookupStart,domainLookupEnd,fetchStart,navigationStart,requestStart,responseStart,domLoading,responseEnd,domContentLoadedEventStart,domInteractive,domContentLoadedEventEnd,domComplete,loadEventStart,loadEventEnd
对于列出的0个值:
unloadEventStart
并unloadEventStart
显示上一页面加载的卸载时间(但前提是该页面与当前页面具有相同的原点。)
redirectEnd
并redirectStart
衡量在页面加载链中是否存在HTTP重定向的情况下增加的延迟。
secureConnectionStart
似乎是用于测量SSL连接时间的可选测量。
secureConnectionStart
是一种标准的措施,但对于浏览器(或处理内容的任何内容)进行报告是可选的。 w3c-test.org/webperf/specs/NavigationTiming/…–
_trackPageLoadTime
到队列中,然后在ga.js加载后依次触发该队列中的所有功能。它允许您安全地ga.js
异步加载。