Use JS to detect computer configuration (with code)
This time I will bring you the use of JS to detect computer configuration (with code), and what are the precautions for using JS to detect computer configuration. The following is a practical case, let’s take a look.
The following code will share with you the js code to implement the computer configuration detection function. The specific code is as follows:<!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 /> <p 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> </p> </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>I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to php Other related articles on the Chinese website! Recommended reading:
Detailed explanation of the use of JS event delegation
JS verification birth date regular expression
The above is the detailed content of Use JS to detect computer configuration (with code). For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Title: The working principle and configuration method of GDM in Linux systems In Linux operating systems, GDM (GNOMEDisplayManager) is a common display manager used to control graphical user interface (GUI) login and user session management. This article will introduce the working principle and configuration method of GDM, as well as provide specific code examples. 1. Working principle of GDM GDM is the display manager in the GNOME desktop environment. It is responsible for starting the X server and providing the login interface. The user enters

Understanding Linux Bashrc: Function, Configuration and Usage In Linux systems, Bashrc (BourneAgainShellruncommands) is a very important configuration file, which contains various commands and settings that are automatically run when the system starts. The Bashrc file is usually located in the user's home directory and is a hidden file. Its function is to customize the Bashshell environment for the user. 1. Bashrc function setting environment

If you need to program any device remotely, this article will help you. We will share the top GE universal remote codes for programming any device. What is a GE remote control? GEUniversalRemote is a remote control that can be used to control multiple devices such as smart TVs, LG, Vizio, Sony, Blu-ray, DVD, DVR, Roku, AppleTV, streaming media players and more. GEUniversal remote controls come in various models with different features and functions. GEUniversalRemote can control up to four devices. Top Universal Remote Codes to Program on Any Device GE remotes come with a set of codes that allow them to work with different devices. you may

As a programmer, I get excited about tools that simplify the coding experience. With the help of artificial intelligence tools, we can generate demo code and make necessary modifications as per the requirement. The newly introduced Copilot tool in Visual Studio Code allows us to create AI-generated code with natural language chat interactions. By explaining functionality, we can better understand the meaning of existing code. How to use Copilot to generate code? To get started, we first need to get the latest PowerPlatformTools extension. To achieve this, you need to go to the extension page, search for "PowerPlatformTool" and click the Install button

Title: How to configure and install FTPS in Linux system, specific code examples are required. In Linux system, FTPS is a secure file transfer protocol. Compared with FTP, FTPS encrypts the transmitted data through TLS/SSL protocol, which improves Security of data transmission. In this article, we will introduce how to configure and install FTPS in a Linux system and provide specific code examples. Step 1: Install vsftpd Open the terminal and enter the following command to install vsftpd: sudo

Title: Computer configuration recommendations for building a high-performance Python programming workstation. With the widespread application of the Python language in data analysis, artificial intelligence and other fields, more and more developers and researchers have an increasing demand for building high-performance Python programming workstations. When choosing a computer configuration, in addition to performance considerations, it should also be optimized according to the characteristics of Python programming to improve programming efficiency and running speed. This article will introduce how to build a high-performance Python programming workstation and provide specific

When we use win11 system, we sometimes need to check the configuration of our computer, but many users are also asking where to check the configuration of win11 computer? In fact, the method is very simple. Users can directly open the system information under settings, and then view the computer configuration information. Let this site carefully introduce to users how to find win11 computer configuration information. How to find win11 computer configuration information. Method 1: 1. Click Start and open Computer Settings. 3. You can view computer configuration information on this page. 2. In the command prompt window, enter systeminfo and press Enter to view the computer configuration.

Since the launch of ChatGLM-6B on March 14, 2023, the GLM series models have received widespread attention and recognition. Especially after ChatGLM3-6B was open sourced, developers are full of expectations for the fourth-generation model launched by Zhipu AI. This expectation has finally been fully satisfied with the release of GLM-4-9B. The birth of GLM-4-9B In order to give small models (10B and below) more powerful capabilities, the GLM technical team launched this new fourth-generation GLM series open source model: GLM-4-9B after nearly half a year of exploration. This model greatly compresses the model size while ensuring accuracy, and has faster inference speed and higher efficiency. The GLM technical team’s exploration has not
