一、Chrome 156 版本基本概况
2026年10月20日,Chrome 156 正式进入稳定通道,面向Windows、Mac和Linux平台逐步推送。桌面端稳定版基准版本号为156.0.8078.47,部分Windows和Mac设备会收到156.0.8078.48的小幅修订版。
本次更新是Chrome从"每四周一个大版本"切换为"每两周发布一次"节奏后的重要稳定版本,从Beta通道到正式推送的验证周期依然保持严谨。全版本共包含353项安全修复,其中6个被标记为严重漏洞,多为内存损坏和释放后使用类问题。官方明确表示目前没有证据显示这些漏洞已被在野利用,为绝大多数用户留出了充足的补丁安装窗口。
二、核心底层改动:IndexedDB 迁移至 SQLite 后端
Chrome 156 最值得关注的底层变化,是将 IndexedDB 的实现从之前结合 LevelDB 与扁平文件的混合方案,完整迁移到 SQLite 后端。
这一改动对普通网页开发者几乎零侵入:对外暴露的 IndexedDB API 完全没有变化,现有业务代码不需要任何修改就能直接运行。但底层实现的替换带来了两个直接收益:
- 可靠性提升:SQLite 成熟的事务机制和崩溃恢复能力,大幅降低了异常断电、程序意外退出时本地数据库损坏的概率
- 性能优化:针对大量数据读写场景,SQLite 的查询优化器能带来更稳定的响应速度,避免旧方案在海量数据下出现的性能抖动
对于依赖 IndexedDB 存储大量离线数据的 PWA 应用、本地编辑器类产品,这次底层迁移相当于免费获得了一次稳定性升级。唯一需要注意的是,首次启动时浏览器会自动完成旧数据格式的迁移,数据量特别大的场景下可能出现短暂的初始化耗时,建议开发者在应用启动逻辑中适当增加加载提示,避免用户误以为页面卡住。
三、WebGPU 能力大幅增强
Chrome 155 与 Chrome 156 连续两个版本集中补齐了 WebGPU 的多项关键能力,让 Web 端 3D 渲染、计算着色器场景的开发门槛进一步降低。
本次新增的核心 WebGPU 特性包括:
- WGSL fragment_depth 扩展:允许片段着色器直接输出深度值,实现更灵活的自定义深度测试、阴影渲染效果
- 纹理压缩未对齐支持:放宽纹理压缩时的对齐限制,减少内存浪费,提升复杂纹理场景的加载速度
- srgb-linear 与 display-p3-linear 色彩空间:支持更精准的线性色彩渲染,满足专业设计类 Web 应用的色彩精度需求
- snorm10-10-10-2 顶点格式:用更紧凑的格式存储顶点数据,在不损失精度的前提下减少显存占用
这些特性落地后,Web 端的 3D 游戏、实时渲染工具、科学可视化项目可以获得更接近原生应用的性能表现,同时大幅降低跨平台适配成本。
四、CSS 新增 random() 函数:样式表直接生成随机值
Chrome 156 在 CSS 层面新增了 random() 函数,这是前端样式能力的一次实用化升级。开发者现在可以直接在 CSS 中生成指定范围内的随机数值,无需再依赖 JavaScript 注入样式变量。
基础用法非常简单:
css
/* 生成 0 到 1 之间的随机数 */
.element {
transform: rotate(random(0, 10) * 1deg);
}
/* 生成 10px 到 50px 之间的随机边距 */
.card {
margin: random(10px, 50px);
}
更重要的是,random() 函数支持通过 random-key 控制随机值的缓存与共享方式。这意味着同一元素的多个属性使用随机值时,可以保持一致性,避免出现同一元素的宽高随机值每次渲染都完全跳变的问题。
这个特性非常适合做这些场景:
- 卡片列表的轻微随机旋转,营造自然错落的视觉效果
- 粒子动画的随机初始位置,减少重复感
- 装饰元素的随机大小、透明度,提升页面生动度
五、弱网体验优化:失败模块加载支持手动重试
过去很长一段时间里,Chrome 会缓存网页模块加载失败的结果,即使用户网络已经恢复,再次调用 import() 动态导入模块时依然会直接返回失败,导致弱网环境下用户刷新页面也未必能恢复功能。
Chrome 156 修复了这个长期存在的体验痛点:现在开发者可以在网络恢复后,再次调用 import() 手动重试失败的模块加载,不需要强制用户刷新整个页面。
典型的重试逻辑可以这样实现:
javascript
async function loadModuleWithRetry(path) {
try {
return await import(path);
} catch (err) {
// 等待网络状态恢复
await waitForNetworkOnline();
// 直接重试导入,不再被失败缓存拦截
return await import(path);
}
}
这个改动对弱网环境下的单页应用、大型拆分打包项目非常友好,能大幅提升网络波动场景下的页面可用性,减少用户看到白屏或功能不可用的概率。
六、安全更新与企业级注意事项
本次 Chrome 156 包含的 353 项安全修复中,6 个严重漏洞均已完成补丁覆盖。官方在绝大多数用户完成升级前,暂时限制了漏洞具体技术细节的公开,避免恶意利用代码提前扩散。
对于企业用户,有两个关键注意点:
Extended Stable 通道仍保持八周更新周期,企业IT管理员可以在验证完内部业务系统兼容性后再批量推送
Chrome 156 对 chrome.debugger API 的企业政策执行更加严格,全有全无的附加时间限制策略进一步收紧,避免未授权的调试行为
七、开发者落地建议
面对 Chrome 156 的新特性,普通开发者可以按优先级逐步落地:
- 优先验证兼容性:现有业务代码不需要大规模改动,重点测试依赖 IndexedDB 的离线功能,确认数据迁移过程无异常
- 小范围试用 CSS random():在非核心视觉路径的装饰元素上尝试使用,逐步替代旧的 JS 随机注入方案
- 升级弱网重试逻辑:给动态导入模块增加重试机制,提升弱网用户体验
- WebGPU 新项目优先适配:新启动的 3D、可视化项目可以直接基于 Chrome 156 的新 WebGPU 特性开发,减少兼容代码量
八、小结
Chrome 156 不是一次只修 bug 的常规更新,它在底层可靠性、CSS 能力、WebGPU 生态和弱网体验上都带来了实实在在的提升。从 IndexedDB 迁移 SQLite 带来的稳定性,到 CSS random() 让样式层直接获得随机能力,再到 WebGPU 补齐专业渲染能力,这些改动都在让 Web 平台的开发体验和用户体验持续向原生应用靠拢。
随着 Chrome 切换为每两周发布一次的节奏,后续这类实用化的新特性会更快到达用户手中,前端开发者也能以更快的速度用上更强大的 Web 能力。
