已弃用的 Javascript 操作系统检测技术

ard*_*doc 13 javascript browser browser-detection navigator os-detection

我想知道为什么像navigator.userAgentnavigator.appNamenavigator.appVersionnavigator.platform这样的 javascript 操作系统检测技术正在从网络标准中删除。

https://developer.mozilla.org/en-US/docs/Web/API/Navigator

如果您访问每个导航器道具,您可以看到

已弃用

此功能已从 Web 标准中删除。尽管某些浏览器可能仍然支持它,但它正在被删除。不要在旧项目或新项目中使用它。使用它的页面或网络应用程序可能随时中断。

所以我想知道

  1. 为什么他们要删除这个
  2. 他们会引入一种新的操作系统检测方法吗
  3. 即使这些技术已被弃用,我也可以使用它们吗?

可能有很多情况我们需要知道操作系统版本。

Who*_*hat -5

我认为普遍的想法是它变得没有必要了。至少从理论上来说,任何浏览器与其他浏览器中不应该有任何功能有不同的工作方式——至少对于 JavaScript 来说是这样。

您通常浏览器嗅探的是功能,并且有很多方法可以找到大部分内容,而不必从噩梦中推断出任何内容userAgent

所以它可能会被弃用,也可能不会。但最好不必嗅探浏览器。这些东西很快就会变得非常复杂。即使它确实被弃用了,它也可能会存在几十年,这样仍然依赖它的一半网络就不会崩溃。