You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

document.startViewTransition的TypeScript定义位置及报错排查咨询

关于TypeScript中document.startViewTransition类型错误的问题

为什么会出现这个报错?

startViewTransition属于View Transitions API,是较新的浏览器API。TypeScript的标准DOM类型定义不会默认覆盖所有最新浏览器特性——只有当你使用的TypeScript版本足够新,其自带的DOM标准库中已收录该API的类型声明时,才能被正常识别。

你添加lib: ["DOM"]后问题仍存在,核心原因就是当前TypeScript版本过旧,它的DOM标准库还没有加入这个API的类型定义。

这个API的TypeScript定义在哪里?

它的官方类型声明包含在TypeScript自带的标准库文件lib.dom.d.ts中,但仅在TypeScript 5.0及以上版本(实际从TS 4.9预览版开始逐步加入)才会有这个定义。你可以在TypeScript的安装目录下的lib文件夹里找到该文件,搜索startViewTransition就能看到对应的接口声明。

解决方法

  • 升级TypeScript版本:直接把项目的TypeScript升级到5.0或更高版本,升级后无需额外配置,就能自动识别这个API的类型。
  • 手动补充类型声明:如果暂时无法升级TS版本,可以在项目根目录创建一个自定义类型声明文件(比如view-transitions.d.ts),添加以下内容:
    interface Document {
      startViewTransition(callback: () => Promise<void> | void): ViewTransition;
    }
    
    interface ViewTransition {
      finished: Promise<void>;
      ready: Promise<void>;
      updateCallbackDone: Promise<void>;
      skipTransition(): void;
    }
    
    这样TypeScript就能识别该API的类型了。

内容的提问来源于stack exchange,提问作者Matthieu Riegler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 06:22:07