惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
B
Blog
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
博客园 - Franky
V
V2EX
IT之家
IT之家
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
F
Fortinet All Blogs
I
InfoQ
云风的 BLOG
云风的 BLOG
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
Microsoft Security Blog
Microsoft Security Blog

InfoQ - 促进软件开发领域知识与创新的传播

Meta 收购 Manus 这事儿泡汤了 5.5万 Star 开源项目 Ghostty 被迫出走,GitHub 正在终结一代技术人的乌托邦 Slack 长时运行多智能体系统的上下文管理方案 从 T+1 到分钟级:金城银行基于 Apache Doris 构建高可靠、强一致的实时数据平台 谷歌云推出 Agents CLI,简化 AI 智能体开发全流程 Claude官方击穿高薪、高学历的安全防线!Anthropic点名10大高危职业,但有群人暂时稳了 亚马逊云科技终止 WorkMail 服务,并将 App Runner 转入维护模式 OPPO小布记忆:全模态碎片化内容的理解与智能整理实践|AICon上海 模力工场038周AI应用周榜:工具在消失,工作流在出现 Akamai CEO Tom Leighton:Agent 时代来临,云基础设施正从“中心化”转向“分布式边缘” 日均数百亿入库背后:从“人肉调度”到K8s弹性架构,度小满金融基于OceanBase重构入库架构实践 百度文库网盘发布GenFlow 4.0:月活用户超1亿,要把网盘变成全端AI工作台 Altman 投的 Agent 终端 Warp 开源了!斩获3.5万star 哪些客户需要拒, 敢让龙虾决定吗?_AI&大模型_InfoQ 中文站_InfoQ精选视频 从开发到生产:为什么越来越多的机器学习团队纷纷迁移到 Snowflake | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 探索多智能体工作流:LangGraph Snowflake Cortex AI | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 腾讯云分布式缓存数据库:AI Agent - 从提示词工程到 Harness 工程 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 基于 Streamlit 为 CSV 数据构建分析智能体 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 AI 智能体:告别文档缺漏 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 构建 AI 驱动的数据管道:深度探讨 Snowflake Openflow 与非结构化数据 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 云端太贵、本地不够聪明,英特尔押注“端云混合AI”:智能体PC会替人完成工作 不到10%的存储投入,可能拖垮90%的GPU投资!IBM把AI Agent塞进存储系统,算清企业最容易忽略的一笔账 Snowpark 上手实战 | BUILD 2025_大数据_王玮_InfoQ精选视频 ClickHouse + Langfuse,构建 Agent 可观测基石 腾讯云分布式缓存数据库:Cluster Proxy 共享连接架构深度解析 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 AI 写代码太烧钱了:Copilot、Claude 一起涨价,不如把程序员请回来? 英特尔发布至强600系列工作站处理器与锐炫Pro B70 GPU,全新AI工作站来了 腾讯云分布式缓存数据库:从 Redis 到 Valkey - 开源社区如何快速创新 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 印奇这次要“从0重做”智驾模型!首谈阶跃和千里双公司布局:中国AI商业闭环要靠车跑出来 从Cursor返聘归来,90后华裔女高管带Claude开启日更模式:token成本比工程师工资低多了!
Navigation API 达基线版本,已经可以作为 History API 的替...
作者:Daniel Cu · 2026-05-22 · via InfoQ - 促进软件开发领域知识与创新的传播

作为历史悠久的 History API 的现代化替代方案,Navigation API 已于 2026 年 1 月达到 Baseline Newly Available 状态,目前 Chrome、Edge、Firefox 147 和 Safari 26.2 等浏览器均已经支持该 API。该 API 为单页应用程序(SPA)中的客户端导航管理提供了一个集中式的专用接口,解决了困扰 Web 开发者十余年的根本性设计问题。

自推出以来,History API 一直是单页应用的主要路由机制,但它存在着一些众所周知的缺陷。它无法检测所有类型的导航触发器,无法读取完整的历史记录堆栈或编辑非当前条目,而且,其 popstate 事件的行为不一致,在通过代码调用 pushState 或 replaceState 时无法触发。正如 Chrome 开发文档所指出的那样,前 HTML 规范编写者 Ian Hickson 曾将 pushState() 称为他“最喜欢的错误”。Navigation API 是从头开始设计的,旨在完全取代 History API,而非作为增量补丁。

新 API 的核心是 navigate 事件,发生任何类型的导航操作,它都会被触发,无论是点击链接、提交表单、点击后退/前进按钮,还是通过编程调用。这取代了以往那种碎片化的做法——当时开发者必须为链接绑定点击监听器,单独处理 popstate 事件,并考虑各种边界情况。

event.intercept() 方法会自动处理 URL 更新、历史记录堆栈管理以及焦点管理等可访问性原语,从而省去了大量的冗余代码。该 API 还提供了内置的滚动恢复功能、用于取消导航的中止信号,以及用于集中错误处理的 navigateSuccess/navigateError 事件。

Jake Archibald 强调了此次发布的意义:“现在,Web 有了一种更合理、更底层的导航路由机制。”在一段视频演示中,他解释道,该 API 将导航拦截分为两部分:一个是用于在 URL 更改前执行任务的 precommitHandler(例如在旧内容仍然可见时获取数据);一个是用于在 URL 更新后切换内容的处理程序。不过他指出,Safari 的实现目前尚不支持 precommitHandler。Archibald 补充说:“希望 Safari 能尽快支持 precommitHandler。”

Wael Fadl Allah 是一名开发人员。他一直在尝试使用该 API。他认为这是“构建单页应用(SPA)的变革性技术”,并特别提到了 navigate 事件提供的统一路由控制、navigation.back()、forward()、traverseTo(key) 和 reload() 等可靠的方法,以及具备正确滚动恢复功能的内置状态持久化机制。

Navigation API 还改进了对历史记录条目的管理。开发者可以通过 navigation.entries() 查看完整的同源历史记录条目列表,使用 .getState() 访问任意条目的结构化状态,并使用 traverseTo(key) 直接跳转到特定的条目。与 History API 相比,这是一项重大改进,因为 History API 无法查看历史记录堆栈,也无法跳转到任意条目。

对于希望从 History API 迁移的开发者,GitHub 上的 WICG Navigation API 代码库中提供了一份专门的迁移指南。MDN Web Docs 还提供了全面的参考文档和示例。

值得注意的是,虽然 React RouterTanStack Router 这些流行的 SPA 路由器都在公开讨论将 Navigation API 作为其路由逻辑的后端,但在本文撰写之时,两者都尚未推出相关的集成方案。Navigation API 的运行层级低于这些框架路由器,它提供的是平台基础组件,支持更高层次的抽象构建,而非与它们直接竞争。

原文链接:https://www.infoq.com/news/2026/05/navigation-api-browser/