【问题标题】:Property 'userAgentData' does not exist on type 'Navigator'类型 \'Navigator\' 上不存在属性 \'userAgentData\'
【发布时间】:2022-10-20 17:01:09
【问题描述】:

由于 navigator.userAgent 的信息会减少,所以我想迁移到 User-Agent 客户端提示,但它显示如下错误:

我该如何解决这个问题,请帮助。非常感谢

【问题讨论】:

    标签: javascript typescript google-chrome


    【解决方案1】:

    默认情况下,TypeScript 不附带实验性 Navigator.userAgentData 属性的类型声明。

    你可以安装例如this package 声称要添加类型 or just look at its implementation 以查看如何自己编写 declarations。

    【讨论】:

      【解决方案2】:

      您需要为 Navigator.userAgentData 安装类型

      1. 从 npm 安装用户代理类型:

        npm i -D user-agent-data-types

      2. 在 tsconfig.json 添加:

        {
           "compilerOptions": {
            ...
            "types": [
              "./node_modules/user-agent-data-types"
             ]
           },
        }
        
        

        现在您应该能够在导航器对象上看到userAgentData 属性。

      【讨论】:

      • 我还需要在tsconfig.spec.json 中进行相同的types 更改,以便应用程序构建时不会出错。
      【解决方案3】:

      您可以使用下一个代码访问它:

      navigator['userAgentData']
      

      【讨论】:

        猜你喜欢
        • 2021-12-26
        • 1970-01-01
        • 2021-01-09
        • 2018-04-13
        • 2021-07-10
        • 2017-07-22
        • 2023-03-26
        • 2023-04-02
        相关资源
        最近更新 更多