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

下面一段代码给大家分享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代码实现电脑配置检测功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

您可能感兴趣的文章:

  • JS字符串累加Array不一定比字符串累加快(根据电脑配置)
(0)

相关推荐

  • JS字符串累加Array不一定比字符串累加快(根据电脑配置)

    先贴出完整代码. 复制代码 代码如下: <script type="text/javascript"> function StringBuffer() { this._strings = new Array(); } StringBuffer.prototype.append = function(str) { this._strings.push(str); //StringBuffer.prototype.length = this._strings.length;//

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

    下面一段代码给大家分享js代码实现电脑配置检测功能,具体代码如下所示: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <style type="text/css"> h1 { text-align: center; color: #000046; } .i { di

  • 微信小程序12行js代码自己写个滑块功能(推荐)

    效果图如下所示 .wxml <view class="jindu" bindtap="cuin"> <view class="xian" style="width:{{towards}}px;"> <view class="yuan" bindtouchmove='touchMove'></view> </view> </view> &

  • 在table中插入多行的js代码(与insertAdjacentHTML相似的功能)

    1 插入行 var num = 1; function addRow() { num ++; InsertRow(tableList," "+num+"新行 "); } function InsertRow(table,rowHtml) { var o=document.createElement("div"),ol; o.innerHTML=" "+rowHtml+" " ol=o.childNodes[

  • 利用types增强vscode中js代码提示功能详解

    使用 types 增强vscode中javascript代码提示功能 微软的vscode编辑器是开发typescript项目的不二首选,其本身也是采用typescript开发的. 使用过ts的同学都知道 *.d.ts 类型声明文件,其管理工具,从最初的 tsd,到后来的 typings,一直到现在的@types,类型声明文件为ts的智能提示,类型检查提供了有力支持. 我们也可以使用类型声明文件,增强vscode编辑javascript时的智能提示. 关于vscode这方面更深的说明,请访问以下链

  • Yii安装EClientScript插件扩展实现css,js文件代码压缩合并加载功能

    本文实例讲述了Yii安装EClientScript插件扩展实现css,js文件代码压缩合并加载功能.分享给大家供大家参考,具体如下: 扩展插件下载地址,解压后复制到/protected/vendor/ https://github.com/muayyad-alsadi/yii-EClientScript main配置文件配置插件,components里面增加 //js,css代码压缩,合并 'clientScript' => array( 'class' => 'application.ven

  • 基于JS组件实现拖动滑块验证功能(代码分享)

    拖动滑块验证功能在支付宝,微信各大平台都能见到这样的功能,那么基于js组件是如何实现此功能的呢?今天小编就给大家分享下js 拖动滑块 验证功能的实现代码,具体代码如下所示: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="Cache-Control" content="no-cache, no-store, m

  • js代码规范之Eslint安装与配置详解

    什么是 ESLint ESLint(中文站点)是一个开源的 JavaScript 代码检查工具,使用 Node.js 编写,由 Nicholas C. Zakas 于 2013 年 6 月创建.ESLint 的初衷是为了让程序员可以创建自己的检测规则,使其可以在编码的过程中发现问题而不是在执行的过程中.ESLint 的所有规则都被设计成可插入的,为了方便使用,ESLint 内置了一些规则,在这基础上也可以增加自定义规则. 一.Eslint安装 1.全局安装 如果你想使 ESLint 适用于你所有

  • SpringMVC自定义拦截器登录检测功能的实现代码

    目录 一.定义登录控制器 二.自定义登录拦截器 一.定义登录控制器 目录结构 代码: 1.创建TUser类 package com.demo.pojo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class TUser { private String name;

  • JS如何实现页面截屏功能实例代码

    "页面截屏"是前端经常遇到的需求,比如页面生成海报,弹窗图片分享等,因为浏览器没有原生的截图API,所以需要借助canvas来实现导出图片实现需求. 可行性方案 方案1: 将 DOM 改写成 canvas ,调用canvas的toBlob或者toDataURL方法即刻上传到七牛云或服务器 方案2: 使用第三方库html2canvas.js实现 canvas , 在不更改页面已有DOM的情况下优雅生产canvas 解决方案的选择 方案1:需要手动计算每个DOM元素的Computed St

  • python用10行代码实现对黄色图片的检测功能

    本文实例讲述了python用10行代码实现对黄色图片的检测功能.分享给大家供大家参考.具体如下: 原理:将图片转换为YCbCr模式,在图片中寻找图片色值像素,如果在皮肤色值内的像素面积超过整个画面的1/3,就认为是黄色图片. 申明:简单场景还是够用了,稍微复杂一点就不准确了,例如:整幅画面是人的头像,皮肤色值的像素必然超过50%,被误认为黄色图片就太武断了. 需要安装python图片库PIL支持 porn_detect.py如下: import sys,PIL.Image as Image im

随机推荐