如题,想要获取当先计算机的操作系统和版本号的话,可以用如下方法。

首先,创建osversion.js文件,文件里面的代码如下

 var osData = [
{ name: 'Windows 2000', group: 'windows_server', identifier: 'Windows NT 5.0', version: '5.0' },
{ name: 'Windows XP', group: 'windows', identifier: 'Windows NT 5.1', version: '5.1' },
{ name: 'Windows 2003', group: 'windows_server', identifier: 'Windows NT 5.2', version: '5.2' },
{ name: 'Windows Vista', group: 'windows', identifier: 'Windows NT 6.0', version: '6.0' },
{ name: 'Windows 7', group: 'windows', identifier: 'Windows NT 6.1', version: '7.0' },
{ name: 'Windows 8', group: 'windows', identifier: 'Windows NT 6.2', version: '8.0' },
{ name: 'Windows 8.1', group: 'windows', identifier: 'Windows NT 6.3', version: '8.1' },
{ name: 'Windows 10', group: 'windows', identifier: 'Windows NT 10.0', version: '10.0' },
{ name: 'Windows 2008', group: 'windows_server', identifier: 'Windows NT 6.0; WOW64', version: '6.0' },
{ name: 'Windows 2008', group: 'windows_server', identifier: 'Windows NT 6.1; WOW64', version: '6.1' },
{ name: 'Windows 2012', group: 'windows_server', identifier: 'Windows NT 6.3; Win64', version: '6.3' },
{ name: 'Chrome OS', group: 'windows', identifier: 'CrOS' },
{ name: 'Mac OS X Capitan', group: 'mac', identifier: 'Mac OS X (10([_|\.])11([0-9_\.]*))', versionSeparator: '[_|\.]' },
{ name: 'Mac OS X Yosemite', group: 'mac', identifier: 'Mac OS X (10([_|\.])10([0-9_\.]*))', versionSeparator: '[_|\.]' },
{ name: 'Mac OS X Mavericks', group: 'mac', identifier: 'Mac OS X (10([_|\.])9([0-9_\.]*))', versionSeparator: '[_|\.]' },
{ name: 'Mac OS X Mountain Lion', group: 'mac', identifier: 'Mac OS X (10([_|\.])8([0-9_\.]*))', versionSeparator: '[_|\.]' },
{ name: 'Mac OS X Lion', group: 'mac', identifier: 'Mac OS X (10([_|\.])7([0-9_\.]*))', versionSeparator: '[_|\.]' },
{ name: 'Mac OS X Snow Leopard', group: 'mac', identifier: 'Mac OS X (10([_|\.])6([0-9_\.]*))', versionSeparator: '[_|\.]' },
{ name: 'Mac OS X Leopard', group: 'mac', identifier: 'Mac OS X (10([_|\.])5([0-9_\.]*))', versionSeparator: '[_|\.]' },
{ name: 'Mac OS X Tiger', group: 'mac', identifier: 'Mac OS X (10([_|\.])4([0-9_\.]*))', versionSeparator: '[_|\.]' },
{ name: 'Mac OS X Panther', group: 'mac', identifier: 'Mac OS X (10([_|\.])3([0-9_\.]*))', versionSeparator: '[_|\.]' },
{ name: 'Mac OS X Jaguar', group: 'mac', identifier: 'Mac OS X (10([_|\.])2([0-9_\.]*))', versionSeparator: '[_|\.]' },
{ name: 'Mac OS X Puma', group: 'mac', identifier: 'Mac OS X (10([_|\.])1([0-9_\.]*))', versionSeparator: '[_|\.]' },
{ name: 'Mac OS X Cheetah', group: 'mac', identifier: 'Mac OS X (10([_|\.])0([0-9_\.]*))', versionSeparator: '[_|\.]' },
{ name: 'Mac OS', group: 'mac', identifier: 'Mac OS' },
{ name: 'Ubuntu', group: 'linux_server', identifier: 'Ubuntu', versionIdentifier: 'Ubuntu/([0-9\.]*)' },
{ name: 'CentOs', group: 'linux_server', identifier: 'CentOs', versionIdentifier: 'CentOs/([0-9\.]*)' },
{ name: 'Debian', group: 'linux_server', identifier: 'Debian' },
{ name: 'Gentoo', group: 'linux_server', identifier: 'Gentoo' },
{ name: '国产系统', group: 'linux', identifier: 'Linux' }
]; var setOsData = function(os) {
var userAgent = navigator.userAgent.toLowerCase();
// Check browser type
for (i in osData) {
if (osData.hasOwnProperty(i)){
var osRegExp = new RegExp(osData[i].identifier.toLowerCase());
var osRegExpResult = osRegExp.exec(userAgent); if (osRegExpResult != null) {
os.name = osData[i].name;
os.group = osData[i].group;
break;
}
}
} return true;
}; var setOsVersion = function(os,version, separator) {
if (separator.substr(0, 1) == '[') {
var splitVersion = version.split(new RegExp(separator, 'g'), 2);
} else {
var splitVersion = version.split(separator, 2);
} if (separator != '.') {
version = version.replace(new RegExp(separator, 'g'), '.');
} os.fullVersion = version; // Major version
if (splitVersion[0]) {
os.majorVersion = parseInt(splitVersion[0]);
} // Minor version
if (splitVersion[1]) {
os.minorVersion = parseInt(splitVersion[1]);
} return true;
};

然后在HTML里添加如下代码:

<script src="js/osversion.js"></script>
<script>
var os = {};
setOsData(os);
alert(os.name);
</script>

我们来访问呢一下看下效果:

弹出来Windows 10,我的计算机的操作系统版本就是这个。

js获取计算机操作系统版本的更多相关文章

  1. js get browser vertion (js获取浏览器信息版本)

    1问题:js get browser vertion (js获取浏览器信息版本) 2解决方案 Copy this script into your JavaScript files. It works ...

  2. 通过js获取计算机内网ip,计算机名,mac地址

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  3. js获取客户端操作系统

    function detectOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.platform == " ...

  4. js获取浏览器的版本代码

    <script>function GetXmlHttpObject(){var xmlHttp=null;var httptype='';try { // Firefox, Opera 8 ...

  5. JS 获取客户端操作系统

    function detectOS() {     var sUserAgent = navigator.userAgent;     var isWin = (navigator.platform ...

  6. js获取智能机浏览器版本信息

    <!DOCTYPE html><html> <head>        <meta charset="UTF-8">         ...

  7. [JS]JavaScript判断操作系统版本

    function detectOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.platform == " ...

  8. JS判断PC操作系统版本

    var version = navigator.userAgent; console.log(version); //"Mozilla/5.0 (Windows NT 10.0; WOW64 ...

  9. c# 获取系统版本,获取net framework 版本(Environment 类)

    1.获取当前操作系统版本信息 使用Environment.OSVersion 属性 获取包含当前平台标识符和版本号的 OperatingSystem 对象. 命名空间:  System程序集:  ms ...

随机推荐

  1. mysql数据库多表查询where与内连接inner join的区别

    按理说where是对前面的笛卡尔积进行过滤,工作量大增,inner join则不会.但我实际测试了一下,两种查询耗时基本相等,甚至where还快一些,多次测试后基本如此. 如下图: where: in ...

  2. 题解 P2286 【[HNOI2004]宠物收养场】

    这是题目链接 大家好,这个题我调了很久过了,所以想写题解 我用的平衡树是AVL树,平衡树界的老爷爷 这个树并不会很慢,主要是我初学,常数巨大 而且题目的 $ n = 80000$,可以接受 \(sol ...

  3. idea中导入别人的vue项目并运行

    1. 下载node.js 在搭建vue的开发环境之前,先下载node.js,下载地址:https://nodejs.org/en/ https://blog.csdn.net/antma/articl ...

  4. SpringBoot 整合Shiro实现动态权限加载更新+Session共享+单点登录

    作者:Sans_ juejin.im/post/5d087d605188256de9779e64 一.说明 Shiro是一个安全框架,项目中主要用它做认证,授权,加密,以及用户的会话管理,虽然Shir ...

  5. 一起学Android之Xml与Json解析

    概述 在网络中,数据交互通常是以XML和Json的格式进行,所以对这两种格式的数据进行解析,是Android开发中的必备功能,本文以一个简单的小例子,简述Android开发中Xml和Json解析的常用 ...

  6. MySql Navicat可视化工具

    下载链接 链接:https://pan.baidu.com/s/1ca5KbpCFc4UbcYkXZDu6aA 提取码:8nku 安装比较简单,选完安装路径,下一步即可 Navicat for MyS ...

  7. Format a Property Value 设置属性值的格式

    In this lesson, you will learn how to set a display format and an edit mask to a business class prop ...

  8. 机器学习pipeline总结

    # -*- coding: utf-8 -*- """scikit-learn introduction Automatically generated by Colab ...

  9. PostgreSQL 常用函数

    类似Oracle ,PostgreSQL也有强大的类型转换函数, 下面仅举两个类型转换例子. --1 例子 postgres; ?column? ---------- ( row) 在PG里如果想做除 ...

  10. jmeter测试并发

    由于生产出现个并发问题,本地没法重现.后来网上有人说使用jmeter可以测试并发,也有人说postman可以测试.但本着试试新鲜的东西,就用jmeter. 到apache上面下载. 下载加压,然后运行 ...