如何在没有 navigator.platform 的情况下确定浏览器平台

Mik*_*ans 14 html javascript

虽然以前我们能够使用它navigator.platform来检查浏览器正在哪个操作系统中运行(这对于关键事件转换之类的事情仍然是必要的,例如Homevs. metaKey+ArrowLeft,或者以遵循操作系统约定的方式放置虚拟模式“关闭”图标)该选项不再存在。(也就是说,现在它在技术上仍然有效,但它不再是一个保证在您部署代码时有效的解决方案)。

如果需要操作系统知识,我似乎找不到任何关于替换应该是什么的官方文档:确定网页正在哪个操作系统/平台上运行的新的和改进的方法是什么?

(目前围绕此问题最流行的 SO 问题“使用 JavaScript 或 jQuery 检测 Mac OS X 或 Windows 计算机的最佳方法”,自决定弃用以来没有任何经过编辑的答案navigator.platform,因此遗憾的是在以下情况下没有用处:此时此刻)

Mik*_*ans 2

事实证明,目前唯一现实的选择是查看用户代理字符串并根据该字符串做出决策(通过手动代码,或使用为您执行此操作的用户代理解析库)。

这并不理想,但由于目标是操作系统检测,并且明确不是浏览器检测,因此它也不会太hacky或在将来容易损坏。