首页
/ CSS View Transitions 2 规范中的跨域重定向与文档状态问题

CSS View Transitions 2 规范中的跨域重定向与文档状态问题

2025-06-12 19:47:03作者:魏侃纯Zoe

在 CSS View Transitions 2 规范的实现过程中,开发团队发现了一个关于跨域重定向与文档状态处理的有趣问题。这个问题涉及到浏览器如何跟踪文档创建方式以及它如何影响视图过渡的资格判定。

当用户通过跨域重定向访问某个站点时,浏览器会在该文档上设置"was created via cross-origin redirects"(通过跨域重定向创建)标志位。这个标志位的存在会直接影响后续视图过渡行为的可用性。

具体场景表现为:用户首先通过跨域重定向访问站点A,此时文档被标记为通过跨域重定向创建。然后用户在站点A内部导航到另一个页面,这个内部导航是符合跨文档视图过渡条件的。但是当用户通过BFCache(后退/前进缓存)返回到原始页面时,由于文档仍然保持着"通过跨域重定向创建"的标记,导致这次导航不符合视图过渡的条件。

这种设计存在明显的不合理性,因为当前导航与最初导致文档创建的跨域重定向已经没有任何关联。技术团队经过讨论认为,这个标志位应该只对"navigate"类型的导航(直接URL输入或链接点击)有意义,而不应该影响"traverse"类型的导航(历史记录前进后退)。

这个发现促使规范可能需要调整相关条件的判断顺序,将跨域重定向标志的检查限定在特定类型的导航场景中,从而提供更符合用户预期的视图过渡体验。

登录后查看全文