我想知道为什么javascript操作系统检测技术,如navigator.userAgent、navigator.appName,navigator.app.strong>和navigator.platform正在从web标准中删除。
https://developer.mozilla.org/en-US/docs/Web/API/Navigator
如果你参观每一个导航器道具,你可以看到
已弃用
此功能已从Web标准中删除。尽管一些浏览器可能仍然支持它,但它正在被删除。不要在旧项目或新项目中使用它。使用它的页面或Web应用程序可能随时中断。
所以我想了解
- 他们为什么要删除这个
- 他们会引入一种新的操作系统检测方法吗
- 即使这些技术被弃用,我也可以使用吗
可能有很多情况下我们需要知道操作系统的版本。
它在MDN上被错误地或意外地标记为不推荐使用。一旦他们发现问题,他们很快就纠正了这个页面,但由于它是一个明确的来源,因此对它的引用仍然存在。
以下是修复它的对话:https://groups.google.com/forum/#!topic/mozilla.dev.mdc/tIx2iiH2u3o
您可以使用:
navigator.userAgentData.platform
我认为一般的想法是它变得没有必要了。至少从理论上讲,在任何浏览器中都不应该有任何与其他浏览器不同的功能——至少在JavaScript中不是这样。
你通常在浏览器中寻找的是功能,有很多方法可以找到大部分内容,而不必从userAgent
的噩梦中推断出任何东西。
因此,它可能会被否决,也可能不会。但这是一个好主意,不必嗅浏览器。这些东西很快就会变得非常复杂。即使它真的被弃用了,它也可能会持续几十年,这样一半仍然依赖它的网络就不会崩溃和烧毁。