zoukankan      html  css  js  c++  java
  • js获取计算机操作系统版本

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

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

     1 var osData = [
     2       { name: 'Windows 2000',           group: 'windows_server',      identifier: 'Windows NT 5.0',                     version: '5.0' },
     3       { name: 'Windows XP',             group: 'windows',         identifier: 'Windows NT 5.1',                     version: '5.1' },
     4       { name: 'Windows 2003',           group: 'windows_server',      identifier: 'Windows NT 5.2',                     version: '5.2' },
     5       { name: 'Windows Vista',          group: 'windows',       identifier: 'Windows NT 6.0',                     version: '6.0' },
     6       { name: 'Windows 7',              group: 'windows',       identifier: 'Windows NT 6.1',                     version: '7.0' },
     7       { name: 'Windows 8',              group: 'windows',       identifier: 'Windows NT 6.2',                     version: '8.0' },
     8       { name: 'Windows 8.1',            group: 'windows',       identifier: 'Windows NT 6.3',                     version: '8.1' },
     9       { name: 'Windows 10',             group: 'windows',       identifier: 'Windows NT 10.0',                    version: '10.0' },
    10       { name: 'Windows 2008',           group: 'windows_server',    identifier: 'Windows NT 6.0; WOW64',                     version: '6.0' },
    11       { name: 'Windows 2008',           group: 'windows_server',    identifier: 'Windows NT 6.1; WOW64',                     version: '6.1' },
    12       { name: 'Windows 2012',           group: 'windows_server',    identifier: 'Windows NT 6.3; Win64',                     version: '6.3' },
    13       { name: 'Chrome OS',              group: 'windows',      identifier: 'CrOS'                               },
    14       { name: 'Mac OS X Capitan',       group: 'mac',        identifier: 'Mac OS X (10([_|.])11([0-9_.]*))', versionSeparator: '[_|.]' },
    15       { name: 'Mac OS X Yosemite',      group: 'mac',        identifier: 'Mac OS X (10([_|.])10([0-9_.]*))', versionSeparator: '[_|.]' },
    16       { name: 'Mac OS X Mavericks',     group: 'mac',        identifier: 'Mac OS X (10([_|.])9([0-9_.]*))',  versionSeparator: '[_|.]' },
    17       { name: 'Mac OS X Mountain Lion', group: 'mac',        identifier: 'Mac OS X (10([_|.])8([0-9_.]*))',  versionSeparator: '[_|.]' },
    18       { name: 'Mac OS X Lion',          group: 'mac',        identifier: 'Mac OS X (10([_|.])7([0-9_.]*))',  versionSeparator: '[_|.]' },
    19       { name: 'Mac OS X Snow Leopard',  group: 'mac',        identifier: 'Mac OS X (10([_|.])6([0-9_.]*))',  versionSeparator: '[_|.]' },
    20       { name: 'Mac OS X Leopard',       group: 'mac',        identifier: 'Mac OS X (10([_|.])5([0-9_.]*))',  versionSeparator: '[_|.]' },
    21       { name: 'Mac OS X Tiger',         group: 'mac',        identifier: 'Mac OS X (10([_|.])4([0-9_.]*))',  versionSeparator: '[_|.]' },
    22       { name: 'Mac OS X Panther',       group: 'mac',        identifier: 'Mac OS X (10([_|.])3([0-9_.]*))',  versionSeparator: '[_|.]' },
    23       { name: 'Mac OS X Jaguar',        group: 'mac',        identifier: 'Mac OS X (10([_|.])2([0-9_.]*))',  versionSeparator: '[_|.]' },
    24       { name: 'Mac OS X Puma',          group: 'mac',        identifier: 'Mac OS X (10([_|.])1([0-9_.]*))',  versionSeparator: '[_|.]' },
    25       { name: 'Mac OS X Cheetah',       group: 'mac',        identifier: 'Mac OS X (10([_|.])0([0-9_.]*))',  versionSeparator: '[_|.]' },
    26       { name: 'Mac OS',                 group: 'mac',        identifier: 'Mac OS'                              },
    27       { name: 'Ubuntu',                 group: 'linux_server',         identifier: 'Ubuntu',                             versionIdentifier: 'Ubuntu/([0-9.]*)' },
    28       { name: 'CentOs',                 group: 'linux_server',         identifier: 'CentOs',                             versionIdentifier: 'CentOs/([0-9.]*)' },
    29       { name: 'Debian',                 group: 'linux_server',         identifier: 'Debian'                             },
    30       { name: 'Gentoo',                 group: 'linux_server',         identifier: 'Gentoo'                             },
    31       { name: '国产系统',               group: 'linux',         identifier: 'Linux'                              }
    32 ];
    33 
    34 var setOsData = function(os) {
    35   var userAgent = navigator.userAgent.toLowerCase();
    36   // Check browser type
    37   for (i in osData) {
    38       if (osData.hasOwnProperty(i)){
    39         var osRegExp = new RegExp(osData[i].identifier.toLowerCase());
    40         var osRegExpResult = osRegExp.exec(userAgent);
    41 
    42         if (osRegExpResult != null) {
    43             os.name = osData[i].name;
    44             os.group = osData[i].group;
    45             break;
    46         }
    47       }
    48   }
    49 
    50   return true;
    51 };
    52 
    53 
    54 var setOsVersion = function(os,version, separator) {
    55   if (separator.substr(0, 1) == '[') {
    56       var splitVersion = version.split(new RegExp(separator, 'g'), 2);
    57   } else {
    58       var splitVersion = version.split(separator, 2);
    59   }
    60 
    61   if (separator != '.') {
    62       version = version.replace(new RegExp(separator, 'g'), '.');
    63   }
    64 
    65   os.fullVersion = version;
    66 
    67   // Major version
    68   if (splitVersion[0]) {
    69       os.majorVersion = parseInt(splitVersion[0]);
    70   }
    71 
    72   // Minor version
    73   if (splitVersion[1]) {
    74       os.minorVersion = parseInt(splitVersion[1]);
    75   }
    76 
    77   return true;
    78 };

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

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

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

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

  • 相关阅读:
    HDU1720 A+B Coming
    HDU1390 ZOJ1383 Binary Numbers
    HDU1390 ZOJ1383 Binary Numbers
    HDU2504 又见GCD
    HDU2504 又见GCD
    HDU1335 POJ1546 UVA389 UVALive5306 ZOJ1334 Basically Speaking
    HDU1335 POJ1546 UVA389 UVALive5306 ZOJ1334 Basically Speaking
    HDU1020 ZOJ2478 Encoding
    HDU1020 ZOJ2478 Encoding
    HDU2097 Sky数
  • 原文地址:https://www.cnblogs.com/ibigboy/p/11218382.html
Copyright © 2011-2022 走看看