【发布时间】:2016-11-25 04:20:45
【问题描述】:
我想知道为什么像 navigator.userAgent、navigator.appName、navigator.appVersion 和 navigator 这样的 javascript 操作系统检测技术。平台正在从网络标准中删除。
https://developer.mozilla.org/en-US/docs/Web/API/Navigator
如果你访问每一个导航器道具,你可以看到
已弃用
此功能已从 Web 标准中删除。尽管某些浏览器可能仍然支持它,但它正在被删除。不要在旧项目或新项目中使用它。使用它的页面或 Web 应用程序可能随时中断。
所以我想知道
- 他们为什么要删除它
- 他们会引入一种新的操作系统检测方法
- 即使这些技术已被弃用,我也可以使用它们吗?
可能有很多情况我们需要知道操作系统版本。
【问题讨论】:
-
虽然这是一个很好的问题,但这可能不是问这个问题的正确地方。除了没有要解决的问题之外,它也是固执己见的,因为除了负责起草 Web 标准的人之外,没有任何人可以告诉你他们的推理。它也处于变相咆哮的边缘。
-
@JKirchartz:我见过的唯一真实的(并且不是过时的)平台检测用例是提供可下载软件时:通过检测,您可以默认使用平台(例如,Linux)用户正在查看您的页面(同时仍让他们导航到其他平台 [例如,Windows])。
-
@T.J.Crowder:为此,您可以轻松地在服务器端进行操作,我猜仍然会有 userAgent。
-
我想我们都在同一个页面上,在这里。
-
我投票决定将此问题作为离题结束,因为前提是
navigator的 OS 检测方面已被弃用,但规范和 MDN 均未表明与操作系统相关的主要属性navigator.platform实际上已被弃用。
标签: javascript browser browser-detection navigator os-detection