【问题标题】:When Is redirectStart populated in NavigationTiming object?什么时候在 NavigationTiming 对象中填充了 redirectStart?
【发布时间】:2013-07-25 09:06:21
【问题描述】:

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

根据NavigationTiming对象的redirectStart属性上的W3C文档:

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

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

应该什么时候填充它们,如果没有的话?

【问题讨论】:

  • 顺便说一下,我已经在 Ubuntu 上的 Firefox 16.0.2 和 Windows 7 上的 IE9 中测试过这个,所以我不相信它是特定于浏览器的。

标签: javascript performance navigation-timing-api


【解决方案1】:

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

如果origin 在两个地址之间以任何方式 不同,NavigationTiming 会将redirectStartredirectEnd 属性清零。

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

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

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

【讨论】:

    猜你喜欢
    • 2013-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    相关资源
    最近更新 更多