如何使用JavaScript找到操作系统名称和操作系统版本?
当前回答
我正在使用这个:)
getPlatform() {
const allPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE', 'Android', 'iPhone', 'iPad', 'iPod'];
return allPlatforms.find(item => item === navigator.platform);
}
其他回答
JavaScript可以访问window.navigator.platform——一个表示浏览器平台的字符串: https://developer.mozilla.org/en-US/docs/Web/API/NavigatorID/platform
使用它来提取您需要(并且可以)的任何细节。请注意,并不能保证客户端实际使用了该平台,因为这可以很容易地以多种方式进行修改。
试一试:
console.log (window.navigator.platform);
如果您正在使用Electron创建网站或创建桌面应用程序,您可能需要获取客户端使用的操作系统的信息。在这种情况下,你可以使用全局属性window。navigator。 如果您使用console.log(navigator)在控制台中记录属性,您将看到包含浏览器、操作系统等信息的子属性的整个对象。
同样,如果你想创建一个本地NodeJS应用程序也是可以的!只需使用const os = require("os");;调用os模块。然后在控制台中记录常量。你会得到一个完整的对象,但如果你想看到平台的名称,你可以输入console.log(os.platform());,并确保在os后添加一对圆括号。平台作为平台在这里是一个功能!
希望这能有所帮助!
我创建了一个用于解析User Agent字符串的库,名为Voodoo。但是要注意,不应该用它来代替特征检测。
Voodoo所做的是解析userAgent字符串,该字符串在Navigator对象(window.navigator)中找到。并不是所有浏览器都会传递可靠的userAgent字符串,所以即使这是正常的方式,userAgent也不总是可信的。
你可以使用这个javascript函数来检查用户的操作系统
function getOS() {
var userAgent = window.navigator.userAgent,
platform = window.navigator.platform,
macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'],
windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'],
iosPlatforms = ['iPhone', 'iPad', 'iPod'],
os = null;
if (macosPlatforms.indexOf(platform) !== -1) {
os = 'Mac OS';
} else if (iosPlatforms.indexOf(platform) !== -1) {
os = 'iOS';
} else if (windowsPlatforms.indexOf(platform) !== -1) {
os = 'Windows';
} else if (/Android/.test(userAgent)) {
os = 'Android';
} else if (!os && /Linux/.test(platform)) {
os = 'Linux';
}
return os;
}
alert(getOS());
如果你列出所有的窗口。Navigator的属性使用
console.log(导航);
你会看到类似这样的东西
# platform = Win32
# appCodeName = Mozilla
# appName = Netscape
# appVersion = 5.0 (Windows; en-US)
# language = en-US
# mimeTypes = [object MimeTypeArray]
# oscpu = Windows NT 5.1
# vendor = Firefox
# vendorSub = 1.0.7
# product = Gecko
# productSub = 20050915
# plugins = [object PluginArray]
# securityPolicy =
# userAgent = Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7
# cookieEnabled = true
# javaEnabled = function javaEnabled() { [native code] }
# taintEnabled = function taintEnabled() { [native code] }
# preference = function preference() { [native code] }
注意,oscpu属性提供了Windows版本。另外,你应该知道:
'Windows 3.11' => 'Win16',
'Windows 95' => '(Windows 95)|(Win95)|(Windows_95)',
'Windows 98' => '(Windows 98)|(Win98)',
'Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
'Windows XP' => '(Windows NT 5.1)|(Windows XP)',
'Windows Server 2003' => '(Windows NT 5.2)',
'Windows Vista' => '(Windows NT 6.0)',
'Windows 7' => '(Windows NT 6.1)',
'Windows 8' => '(Windows NT 6.2)|(WOW64)',
'Windows 10' => '(Windows 10.0)|(Windows NT 10.0)',
'Windows NT 4.0' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
'Windows ME' => 'Windows ME',
'Open BSD' => 'OpenBSD',
'Sun OS' => 'SunOS',
'Linux' => '(Linux)|(X11)',
'Mac OS' => '(Mac_PowerPC)|(Macintosh)',
'QNX' => 'QNX',
'BeOS' => 'BeOS',
'OS/2' => 'OS/2',
'Search Bot'=>'(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves/Teoma)|(ia_archiver)'