【问题标题】:How to get the OS name and version with JavaScript?如何使用 JavaScript 获取操作系统名称和版本?
【发布时间】:2023-12-17 06:06:01
【问题描述】:

我正在创建一个对象,以便通过调用函数更轻松地访问浏览器/系统信息。其中一个函数访问操作系统名称和版本并返回一个值。

const Sys = {
  // retrieves the operating system
  OS: function () {
    // function body
  }
  // other functions...
}

我不知道如何获取所需的信息。我确实在 Stack Overflow 上找到了类似的问题,但没有得到正确的信息。例如,如果我在 Windows 10 Pro 32 位上运行,我希望输出为 "Windows 10 Pro 32-bit"。我猜我必须使用navigator 对象,但除此之外我真的什么都不知道。有人可以帮忙吗?

【问题讨论】:

标签: javascript html operating-system user-agent navigator


【解决方案1】:

我建议使用platform.js(请参阅demo)。

识别用户的浏览器:

platform.os;
// => OS X 10.15.6 (in my case)

或者解析一个 userAgent 字符串。

let info = platform.parse("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15");

info.name;
// => Safari

info.version;
// => 14.0.1

info.description;
// => Safari 14.0.1 on OS X 10.15.6

【讨论】:

  • 我可以在没有安装 npm 或 Node.js 的情况下使用 Platform.js 吗?
  • 这是一个浏览器库。只需将其包含在带有 <script src="path to platform.js"></script> 标记的 HTML 文件中,就可以了。
  • 如果没有包管理器,可以从github下载脚本:raw.githubusercontent.com/bestiejs/platform.js/master/…
  • @ΔO'deltazero' 谢谢!我将对其进行测试,如果可行,我将接受您的回答。