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

在Angular中启用Trusted Types遇TS类型错误,如何解决?

解决Angular中Trusted Types的TS2339类型错误

这个错误是因为TypeScript的全局类型定义默认未包含Trusted Types的API声明,编译器无法识别window.trustedTypes属性。以下是几种可行的解决方法:

方法1:安装官方类型声明包

直接安装Trusted Types的类型定义包,让TypeScript自动识别该API:

npm install @types/trusted-types --save-dev

安装完成后,无需修改现有代码,TypeScript就能正确识别window.trustedTypes的类型。

方法2:手动扩展Window接口

若不想安装额外依赖,可在项目中创建类型声明文件(比如src/typings.d.ts),扩展Window接口:

interface Window {
  trustedTypes?: TrustedTypePolicyFactory;
}

用?标记为可选属性,既让TypeScript认可该属性存在,也符合浏览器兼容性的实际情况。

方法3:类型断言快速绕过检查

针对临时调试或简单场景,可直接用类型断言跳过类型检查:

let sanitizer = (window as any).trustedTypes?.createPolicy('my-policy', {
  // 配置你的策略方法,如createHTML、createScript等
  createHTML: (input: string) => input
});

必加步骤:浏览器兼容性检查

无论采用哪种方法,都要在运行时先判断浏览器是否支持Trusted Types,避免运行时错误:

if (window.trustedTypes) {
  const sanitizer = window.trustedTypes.createPolicy('my-policy', {
    createHTML: (input) => {
      // 实现你的安全过滤逻辑
      return input;
    }
  });
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 14:58:16