在 JavaScript 中检测操作系统
-
使用 JavaScript 中的
platform
属性检测操作系统 -
使用 JavaScript 中的
userAgent
属性检测操作系统 -
使用 JavaScript 中的
appVersion
属性检测操作系统
在 JavaScript 中,navigator
对象返回浏览器信息。从技术上讲,通过导航器属性,我们向服务器发送有关浏览器的信息,有时还会发送有关我们正在使用的应用程序或操作系统的信息。
结果,服务器返回一个字符串,其中包含有关先前接收到 ping 的浏览器的信息。
在这里,我们将在更多实例中看到 platform
属性与 navigator
对象的使用。我们还将看到 navigator.userAgent
和 navigator.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);
输出: