JS를 사용하여 컴퓨터 구성을 감지하는 방법
이번에는 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 /> <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>
이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 자료:
위 내용은 JS를 사용하여 컴퓨터 구성을 감지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











휴대 전화에서 XML을 PDF로 직접 변환하는 것은 쉽지 않지만 클라우드 서비스를 통해 달성 할 수 있습니다. 가벼운 모바일 앱을 사용하여 XML 파일을 업로드하고 생성 된 PDF를 수신하고 클라우드 API로 변환하는 것이 좋습니다. Cloud API는 Serverless Computing Services를 사용하고 올바른 플랫폼을 선택하는 것이 중요합니다. XML 구문 분석 및 PDF 생성을 처리 할 때 복잡성, 오류 처리, 보안 및 최적화 전략을 고려해야합니다. 전체 프로세스에는 프론트 엔드 앱과 백엔드 API가 함께 작동해야하며 다양한 기술에 대한 이해가 필요합니다.

응용 프로그램 내에서 응용 프로그램 외부로 로그인 승인을 달성하는 방법은 무엇입니까? 일부 응용 프로그램에서는 종종 한 응용 프로그램에서 다른 응용 프로그램으로 점프해야 할 필요성이 있습니다.

PS "로드"문제는 자원 액세스 또는 처리 문제로 인한 것입니다. 하드 디스크 판독 속도는 느리거나 나쁘다 : CrystalDiskinfo를 사용하여 하드 디스크 건강을 확인하고 문제가있는 하드 디스크를 교체하십시오. 불충분 한 메모리 : 고해상도 이미지 및 복잡한 레이어 처리에 대한 PS의 요구를 충족시키기 위해 메모리 업그레이드 메모리. 그래픽 카드 드라이버는 구식 또는 손상됩니다. 운전자를 업데이트하여 PS와 그래픽 카드 간의 통신을 최적화하십시오. 파일 경로는 너무 길거나 파일 이름에는 특수 문자가 있습니다. 짧은 경로를 사용하고 특수 문자를 피하십시오. PS 자체 문제 : PS 설치 프로그램을 다시 설치하거나 수리하십시오.

XML 온라인 형식 도구는 지저분한 XML 코드를 읽기 쉬운 형식으로 자동 구성하고 형식을 유지 관리합니다. XML의 구문 트리를 구문 분석하고 서식 규칙을 적용함으로써 이러한 도구는 코드의 구조를 최적화하여 유지 관리 가능성과 팀워크 효율성을 향상시킵니다.

코드 취약점, 브라우저 호환성, 성능 최적화, 보안 업데이트 및 사용자 경험 개선과 같은 요소로 인해 H5 페이지를 지속적으로 유지해야합니다. 효과적인 유지 관리 방법에는 완전한 테스트 시스템 설정, 버전 제어 도구 사용, 페이지 성능을 정기적으로 모니터링하고 사용자 피드백 수집 및 유지 관리 계획을 수립하는 것이 포함됩니다.

내장 기능을 통해 XML을 안드로이드 폰에서 직접 PDF로 변환 할 수 없습니다. 다음 단계를 통해 국가를 저장해야합니다. XML 데이터를 PDF 생성기 (예 : 텍스트 또는 HTML)에서 인식하는 형식으로 변환합니다. 비행 접시와 같은 HTML 생성 라이브러리를 사용하여 HTML을 PDF로 변환하십시오.

느린 Photoshop 스타트 업 문제를 해결하려면 다음을 포함한 다중 프론트 접근 방식이 필요합니다. 하드웨어 업그레이드 (메모리, 솔리드 스테이트 드라이브, CPU); 구식 또는 양립 할 수없는 플러그인 제거; 정기적으로 시스템 쓰레기 및 과도한 배경 프로그램 청소; 주의를 기울여 관련없는 프로그램 폐쇄; 시작하는 동안 많은 파일을 열지 않도록합니다.

워드 플러그인 로그인 인증을위한 교차 신청 점프를 구현하는 방법은 무엇입니까? 특정 워드 플러그인을 사용할 때는 종종이 시나리오에 직면합니다. 플러그인의 로그인을 클릭하십시오 ...
