JS代码实现电脑配置检测功能


Posted in Javascript onMarch 21, 2018

下面一段代码给大家分享js代码实现电脑配置检测功能,具体代码如下所示:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
  </head>
  <style type="text/css">
    h1 {
      text-align: center;
      color: #000046;
    }
    .i {
      display: inline-block;
      vertical-align: middle;
      width: 30px;
      height: 30px;
      margin: 5px 20px;
      background: url(http://yi.sunlands.com/ent-portal-war/images/tc_icon.png) no-repeat;
    }
    .a {
      background-position: 0 0;
    }
    .b {
      background-position: 0 -40px;
    }
    .c {
      background-position: 0 -80px;
    }
    .d {
      background-position: 0 -120px;
    }
    .e {
      background-position: 0 -160px;
    }
    b {
      color: #007ac3;
      padding-right: 10px;
    }
    i {
      color: green;
      font-weight: bold;
    }
    .box {
      width: 460px;
      height: 360px;
      margin: auto;
      padding: 20px;
      border: 2px solid darkgray;
      font-size: 18px;
      border-radius: 10px;
      border-left-width: 10px;
      border-right-width: 10px;
    }
  </style>
  <body>
    <h1>电脑配置检测</h1>
    <hr />
    <div class="box">
      <p> <i class="i a"></i> <b>您的操作系统是: </b> <i id="xitong"></i> </p>
      <p> <i class="i b"></i> <b>您的网络链接状态是: </b> <i id="netline"></i> </p>
      <p> <i class="i b"></i> <b>您当前浏览网速是:</b> <i id="wangsu"></i> </p>
      <p> <i class="i c"></i> <b>您电脑的分辨率是:</b> <i id="fenbianlv"></i> </p>
      <p> <i class="i d"></i> <b>您的浏览器是:</b> <i id="liulanqi"></i> </p>
      <p> <i class="i e"></i> <b>您的flash的版本是:</b> <i id="flash_banben"></i> </p>
    </div>
  </body>
  <script src="jquery-1.12.4.min.js" type="text/javascript" charset="utf-8"></script>
  <script type="text/javascript">
    $(function(){
      if(typeof Obj == "undefined") {
        var Obj = new Object();
      }
      if(typeof Obj.SWFObjectUtil == "undefined") {
        Obj.SWFObjectUtil = new Object();
      }
      Obj.SWFObject = function(_1, id, w, h, _5, c, _7, _8, _9, _a) {
        if(!document.getElementById) return;
        this.params = new Object();
        this.variables = new Object();
        this.attributes = new Array();
        if(_1) this.setAttribute("swf", _1);
        if(id) this.setAttribute("id", id);
        if(w) this.setAttribute("width", w);
        if(h) this.setAttribute("height", h);
        if(_5) this.setAttribute("version", new Obj.PlayerVersion(_5.toString().split(".")));
        this.installedVer = Obj.SWFObjectUtil.getPlayerVersion();
        if(!window.opera && document.all && this.installedVer.major > 7) {
          Obj.SWFObject.doPrepUnload = true;
        }
        if(c) this.addParam("bgcolor", c);
        var q = _7 ? _7 : "high";
        this.addParam("quality", q);
        this.setAttribute("useExpressInstall", false);
        this.setAttribute("doExpressInstall", false);
        var _c = (_8) ? _8 : window.location;
        this.setAttribute("xiRedirectUrl", _c);
        this.setAttribute("redirectUrl", "");
        if(_9) this.setAttribute("redirectUrl", _9);
      };
      Obj.SWFObject.prototype = {
        useExpressInstall: function(_d) {
          this.xiSWFPath = !_d ? "expressinstall.swf" : _d;
          this.setAttribute("useExpressInstall", true);
        },
        setAttribute: function(_e, _f) {
          this.attributes[_e] = _f;
        },
        getAttribute: function(_10) {
          return this.attributes[_10];
        },
        addParam: function(_11, _12) {
          this.params[_11] = _12;
        },
        getParams: function() {
          return this.params;
        },
        addVariable: function(_13, _14) {
          this.variables[_13] = _14;
        },
        getVariable: function(_15) {
          return this.variables[_15];
        },
        getVariables: function() {
          return this.variables;
        },
        getVariablePairs: function() {
          var _16 = new Array();
          var key;
          var _18 = this.getVariables();
          for(key in _18) {
            _16[_16.length] = key + "=" + _18[key];
          }
          return _16;
        },
        getSWFHTML: function() {
          var _19 = "";
          if(navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) {
            if(this.getAttribute("doExpressInstall")) {
              this.addVariable("MMplayerType", "PlugIn");
              this.setAttribute("swf", this.xiSWFPath);
            }
            _19 = "<embed type=\"application/x-shockwave-flash\" src=\"" + this.getAttribute("swf") + "\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" style=\"" + this.getAttribute("style") + "\"";
            _19 += " id=\"" + this.getAttribute("id") + "\" name=\"" + this.getAttribute("id") + "\" ";
            var _1a = this.getParams();
            for(var key in _1a) {
              _19 += [key] + "=\"" + _1a[key] + "\" ";
            }
            var _1c = this.getVariablePairs().join("&");
            if(_1c.length > 0) {
              _19 += "flashvars=\"" + _1c + "\"";
            }
            _19 += "/>";
          } else {
            if(this.getAttribute("doExpressInstall")) {
              this.addVariable("MMplayerType", "ActiveX");
              this.setAttribute("swf", this.xiSWFPath);
            }
            _19 = "<object id=\"" + this.getAttribute("id") + "\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" style=\"" + this.getAttribute("style") + "\">";
            _19 += "<param name=\"movie\" value=\"" + this.getAttribute("swf") + "\" />";
            var _1d = this.getParams();
            for(var key in _1d) {
              _19 += "<param name=\"" + key + "\" value=\"" + _1d[key] + "\" />";
            }
            var _1f = this.getVariablePairs().join("&");
            if(_1f.length > 0) {
              _19 += "<param name=\"flashvars\" value=\"" + _1f + "\" />";
            }
            _19 += "</object>";
          }
          return _19;
        },
        write: function(_20) {
          if(this.getAttribute("useExpressInstall")) {
            var _21 = new Obj.PlayerVersion([6, 0, 65]);
            if(this.installedVer.versionIsValid(_21) && !this.installedVer.versionIsValid(this.getAttribute("version"))) {
              this.setAttribute("doExpressInstall", true);
              this.addVariable("MMredirectURL", escape(this.getAttribute("xiRedirectUrl")));
              document.title = document.title.slice(0, 47) + " - Flash Player Installation";
              this.addVariable("MMdoctitle", document.title);
            }
          }
          if( this.getAttribute("doExpressInstall") || this.installedVer.versionIsValid(this.getAttribute("version"))) {
            var n = (typeof _20 == "string") ? document.getElementById(_20) : _20;
            n.innerHTML = this.getSWFHTML();
            return true;
          } else {
            if(this.getAttribute("redirectUrl") != "") {
              document.location.replace(this.getAttribute("redirectUrl"));
            }
          }
          return false;
        }
      };
      Obj.PlayerVersion = function(_29) {
        this.major = _29[0] != null ? parseInt(_29[0]) : 0;
        this.minor = _29[1] != null ? parseInt(_29[1]) : 0;
        this.rev = _29[2] != null ? parseInt(_29[2]) : 0;
      };
      Obj.SWFObjectUtil.getPlayerVersion = function() {
        var _23 = new Obj.PlayerVersion([0, 0, 0]);
        if(navigator.plugins && navigator.mimeTypes.length) {
          var x = navigator.plugins["Shockwave Flash"];
          if(x && x.description) {
            _23 = new Obj.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));
          }
        } else {
          if(navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0) {
            var axo = 1;
            var _26 = 3;
            while(axo) {
              try {
                _26++;
                axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + _26);
                _23 = new Obj.PlayerVersion([_26, 0, 0]);
              } catch(e) {
                axo = null;
              }
            }
          } else {
            try {
              var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
            } catch(e) {
              try {
                var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
                _23 = new Obj.PlayerVersion([6, 0, 21]);
                axo.AllowScriptAccess = "always";
              } catch(e) {
                if(_23.major == 6) {
                  return _23;
                }
              }
              try {
                axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
              } catch(e) {}
            }
            if(axo != null) {
              _23 = new Obj.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
            }
          }
        }
        return _23;
      };
      //获取浏览器flash版本号
      function getFlashVersion() {
        var version = Obj.SWFObjectUtil.getPlayerVersion();
        $("#flash_banben").html(version['major'] + "." + version['minor'] + "." + version['rev']);
      };
      //获取操作系统屏幕分辨率
      function getScreenSize() {
        return {
          width: screen.width,
          height: screen.height
        };
      }
      $("#fenbianlv").html(getScreenSize().width + "*" + getScreenSize().height);
      function getNetline() {
        $('#netline').text("网络已链接");
        window.ononline = function() {
          $('#netline').text("网络已链接");
        };
        window.onoffline = function() {
          $('#netline').text("网络已断开");
        };
      }
      //获取浏览器版本
      function getExplorerVersion() {
        var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        var s;
        var result = "";
        (s = ua.match(/qqbrowser\/([\d.]+)/)) ? Sys.qqbrowser = s[1]:
          (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
          (s = ua.match(/(trident)\/([\d.]+)/)) ? Sys.ie = '11.0' :
          (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
          (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
          (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
          (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
        if(Sys.ie)
          result = "IE " + Sys.ie;
        else if(Sys.firefox)
          result = "firefox " + Sys.firefox;
        else if(Sys.chrome)
          result = "chrome " + Sys.chrome;
        else if(Sys.opera)
          result = "opera " + Sys.opera;
        else if(Sys.safari)
          result = "safari" + Sys.safari;
        else if(Sys.qqbrowser)
          result = "QQBrowser" + Sys.qqbrowser;
        else
          result = "未知";
        $("#liulanqi").html(result + "(内核)");
      }
      //获取操作系统版本
      function getOsVersion() {
        var opName = "";
        var Name = "";
        var ua = window.navigator.userAgent;
        var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows") || (navigator.platform == "Win64");
        var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel");
        if(isMac) {
          opName = "Mac";
          Name = "Mac";
        } else if(isWin) {
          var osN = "";
          if(ua.indexOf("WOW") != -1 || ua.indexOf("Win64") != -1) {
            osN = "64";
          } else {
            osN = "32";
          }
          var osV = ua.substr(ua.indexOf("Windows NT ") + 11, 3);
          switch(osV) {
            case "5.0":
              opName = "Windows XP2000";
              Name = "Win2000";
              break;
            case "5.1":
              opName = "Windows XP ";
              Name = "WinXP";
              break;
            case "5.2":
              opName = "Windows 2003";
              Name = "Win2003";
              break;
            case "6.1":
              opName = "Windows 7 " + osN + "位";
              Name = "Win7";
              break;
            case "6.3":
              opName = "Windows 8 " + osN + "位";
              Name = "Win8";
              break;
            default:
              Name = "Other";
              break;
          }
        } else {
          var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
          if(isUnix) {
            opName = "Unix";
            Name = "Unix";
          } else {
            var isLinux = (String(navigator.platform).indexOf("Linux") > -1);
            if(isLinux) {
              opName = "Linux";
              Name = "Linux";
            } else {
              Name = "Other";
            }
          }
        }
        $("#xitong").html(opName);
      }
      //获取网速
      function getNet() {
        var starttime = new Date();
        var size = 0, //文件长度,由脚本使用HEAD自动计算 
          url = "2017-08-22_233329.jpg?" + new Date().valueOf(); //获取文件的长度: 
        var xhr = $.ajax({
          type: 'get', //"head",
          url: url,
          success: function(msg) {
            size = xhr.getResponseHeader('Content-Length');
            //开始GET数据: 
            $.get(url, function(data) {
              var endtime = new Date();
              usetime = endtime - starttime;
              if(usetime == 0) {
                usetime = 10;
              }
              var speed = (size / (1024)) / (usetime / (1000));
              var result_text = speed.toFixed(2);
              $("#wangsu").html(result_text + "KB/S");
            });
          }
        });
      }
      getNet();
      getOsVersion();
      getExplorerVersion();
      getFlashVersion();
      getNetline();
    }());
  </script>
</html>

总结

以上所述是小编给大家介绍的JS代码实现电脑配置检测功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
json对象转字符串如何实现
Dec 02 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
Sep 28 Javascript
使用js画图之圆、弧、扇形
Jan 12 Javascript
javascript中caller和callee详解
Aug 10 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
Jan 05 Javascript
vue脚手架中配置Sass的方法
Jan 04 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
Apr 28 Javascript
vue 实现axios拦截、页面跳转和token 验证
Jul 17 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
Oct 08 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
Jun 18 Javascript
Vue如何基于es6导入外部js文件
May 15 Javascript
微信小程序实现锚点跳转
Nov 23 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
Mar 21 #Javascript
javascript与PHP动态往类中添加方法对比
Mar 21 #Javascript
详解PHP后期静态绑定分析与应用
Mar 21 #Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
Mar 21 #Javascript
用p5.js制作烟花特效的示例代码
Mar 21 #Javascript
AngularJS监听ng-repeat渲染完成的方法
Mar 20 #Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
Mar 20 #Javascript
You might like
php-accelerator网站加速PHP缓冲的方法
2008/07/30 PHP
php生成扇形比例图实例
2013/11/06 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
最常用的8款PHP调试工具
2014/07/06 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
PHP递归算法的简单实例
2019/02/28 PHP
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
js indexOf()定义和用法
2012/10/21 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
js中获取时间new Date()的全面介绍
2016/06/20 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
ES6(ECMAScript 6)新特性之模板字符串用法分析
2017/04/01 Javascript
AngularJs 常用的过滤器
2017/05/15 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
js笔试题-接收get请求参数
2019/06/15 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
JS实现打字游戏
2019/12/17 Javascript
详解React路由传参方法汇总记录
2020/11/29 Javascript
使用graphics.py实现2048小游戏
2015/03/10 Python
python获取目录下所有文件的方法
2015/06/01 Python
Python序列化基础知识(json/pickle)
2017/10/19 Python
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
在python里面运用多继承方法详解
2019/07/01 Python
seek引发的python文件读写的问题及解决
2019/07/26 Python
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
传播学毕业生求职信
2013/10/11 职场文书
师范应届毕业生自荐信
2013/11/18 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
大学生村官个人总结
2015/02/15 职场文书
幼师辞职信范文
2015/02/27 职场文书
安全教育片观后感
2015/06/17 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书