我正在使用NavigationTiming对象监视我的网站的性能。

根据W3C文档中关于redirectStart对象的NavigationTiming属性:


  如果在导航时存在HTTP重定向或等效项,并且所有重定向或等效项都来自同一来源,则此属性必须返回启动重定向的提取的开始时间。


我的网站当前有一个登录页面,该页面提交POST并收到302重定向到欢迎页面。我希望欢迎页面上的NavigationTiming对象包括要填充的redirectStartredirectEnd属性,但是它们是0。

什么时候应该填充?

最佳答案

登录页面和欢迎页面是否起源不同,例如,不同的方案(HTTP / HTTPS)或服务器(foo.com与www.foo.com)?

如果两个地址之间的origin有所不同,则NavigationTiming会将redirectStartredirectEnd属性归零。

(请注意,POST方法不是原点计算的一部分,因此不应仅因为它是GET的POST 302而导致该属性归零)

如果您愿意分享您的网站,我可以进行进一步调查。

您还可以通过运行W3C测试用例here来验证浏览器是否正确支持重定向用例。

09-25 15:06