6

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

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

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

已弃用

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

所以我想知道

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

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

4

3 回答 3

4

它在 MDN 上被错误地或意外地标记为已弃用。他们在看到问题后迅速更正了该页面,但由于它是一个确定的来源,因此不推荐使用它的引用仍然存在于各处。

这是修复它的对话: https ://groups.google.com/forum/#!topic/mozilla.dev.mdc/tIx2iiH2u3o

于 2017-12-01T19:05:09.870 回答
0

您可以使用:

navigator.userAgentData.platform
于 2021-12-16T14:57:12.767 回答
-3

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

您通常会在浏览器中寻找功能,并且有很多方法可以找到大部分内容,而无需从噩梦中推断出任何东西userAgent

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

于 2016-07-21T14:21:36.983 回答