【问题标题】:How to detect if a user is using a tv app?如何检测用户是否正在使用电视应用程序?
【发布时间】:2019-10-24 10:23:11
【问题描述】:

目前我正在尝试构建一个电视应用程序。 目标是能够在笔记本电脑浏览器上运行项目 并将其作为应用程序在电视上运行。

所以我要做的是检测用户是浏览器还是电视上的应用程序。

我尝试使用用户代理,当我尝试检测浏览器时它会起作用,因此它会告诉我它的 Chrome 等。 当我尝试检测电视时它不起作用。

预期: 在电视上时,控制台让我重新登录用户代理。

实际: 目前它只是没有检测到用户。

【问题讨论】:

  • 检查navigator.userAgent是否在这里工作。
  • Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36 这就是它返回的内容。但是当我在电视上时,它不会返回任何东西......
  • @Paul 我去看看
  • 为什么它在电视上的行为与在笔记本电脑上的行为不同?特征检测可能是前进的方向。不是设备检测。

标签: javascript reactjs television


【解决方案1】:

有一个主要由智能电视使用的用户代理列表。由于他们也在使用 Chrome 或 Firefox 或其他浏览器,因此 100% 依赖该列表并不容易,但它可以为您提供解决方案吗?

https://udger.com/resources/ua-list/device-detail?device=Smart%20TV

【讨论】:

    【解决方案2】:

    尝试使用 css @media 规则,你应该会得到一个钩子:

    @media tv {
       html {
          border-color: red; - any unimportant for view property, but you can check if it exist from JS
       }
    }
    

    UserAgent 在这种情况下是没有用的。

    【讨论】:

    • 我们通过使用自定义模块为此创建了一个有效的用户代理检查。我们不是在寻找电视,而是在寻找特定型号。
    猜你喜欢
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    相关资源
    最近更新 更多