迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

在 JavaScript 中检测操作系统

作者:迹忆客 最近更新:2024/03/22 浏览次数:

在 JavaScript 中,navigator 对象返回浏览器信息。从技术上讲,通过导航器属性,我们向服务器发送有关浏览器的信息,有时还会发送有关我们正在使用的应用程序或操作系统的信息。

结果,服务器返回一个字符串,其中包含有关先前接收到 ping 的浏览器的信息。

在这里,我们将在更多实例中看到 platform 属性与 navigator 对象的使用。我们还将看到 navigator.userAgentnavigator.appVersion 是如何工作的。


使用 JavaScript 中的 platform 属性检测操作系统

platform 属性是一个几乎被遗忘的功能。大多数浏览器不会收到浏览器平台的确切详细信息。

通常,此属性的基本功能是检测浏览器运行所在的平台。

使用此属性时,我们将获得正确的操作系统名称,但主要问题是某些浏览器,例如 Chrome、Firefox 63、Edge,即使实际版本为 64,也会将版本返回为 32。所以,即使这是最简单的方法找出操作系统,但忽略了这个熵。

以下代码行将解释这种情况。

代码片段:

var OS = navigator.platform;
console.log(OS);

输出:

如你所见,我们确实收到了平台的名称,但实际版本是运行代码的 PC 的 64 位。我们使用的浏览器是 Chrome,返回的版本信息是 32。


使用 JavaScript 中的 userAgent 属性检测操作系统

如果我们想跟踪有关用户使用的浏览器和平台的一些细节,我们可以使用 navigator 对象获取 userAgent 属性。此特殊功能返回一个包含浏览器名称、版本和平台名称的字符串。

与之前的属性(platform)不同,userAgent 给出了明确的结果,包括版本。

在下面的示例中,我们将尝试匹配字符串中的模式并将其推断为正确的操作系统。

代码片段:

var OS = 'Unknown';
if (navigator.userAgent.indexOf('Win') != -1) OS = 'Windows';
if (navigator.userAgent.indexOf('Mac') != -1) OS = 'MacOS';
if (navigator.userAgent.indexOf('X11') != -1) OS = 'UNIX';
if (navigator.userAgent.indexOf('Linux') != -1) OS = 'Linux';
console.log(OS);
console.log(navigator.userAgent);

输出:


使用 JavaScript 中的 appVersion 属性检测操作系统

对于 appVersion 属性,我们还检索有关浏览器及其平台的信息。还建议通过 JavaScript 了解你 PC 的操作系统。

然而,它的用途很小。你可以先看看这个文章了解更多信息。

此外,此功能是只读属性。

代码片段:

var OS = 'Unknown';
if (navigator.appVersion.indexOf('Win') != -1) OS = 'Windows';
if (navigator.appVersion.indexOf('Mac') != -1) OS = 'MacOS';
if (navigator.appVersion.indexOf('X11') != -1) OS = 'UNIX';
if (navigator.appVersion.indexOf('Linux') != -1) OS = 'Linux';
console.log(OS);

输出:

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Do you understand JavaScript closures?

发布时间:2025/02/21 浏览次数:108 分类:JavaScript

The function of a closure can be inferred from its name, suggesting that it is related to the concept of scope. A closure itself is a core concept in JavaScript, and being a core concept, it is naturally also a difficult one.

Do you know about the hidden traps in variables in JavaScript?

发布时间:2025/02/21 浏览次数:178 分类:JavaScript

Whether you're just starting to learn JavaScript or have been using it for a long time, I believe you'll encounter some traps related to JavaScript variable scope. The goal is to identify these traps before you fall into them, in order to av

How much do you know about the Prototype Chain?

发布时间:2025/02/21 浏览次数:150 分类:JavaScript

The prototype chain can be considered one of the core features of JavaScript, and certainly one of its more challenging aspects. If you've learned other object-oriented programming languages, you may find it somewhat confusing when you start

用 jQuery 检查复选框是否被选中

发布时间:2024/03/24 浏览次数:102 分类:JavaScript

在本教程中学习 jQuery 检查复选框是否被选中的所有很酷的方法。我们展示了使用直接 DOM 操作、提取 JavaScript 属性的 jQuery 方法以及使用 jQuery 选择器的不同方法。你还将找到许多有用的

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便