1// JavaScript Document 2// ë§ë ì´ : ë¤ì¯ë°©ì¸, THREE⢠(http://the3.tistory.com) 3// 주ì : http://the3.tistory.com/17 4// Data : 2015. 01. 28 5// Version : 0.2 6// 참조 http://www.openspc2.org/userAgent/ 7// OS ë²ì 보기 8 9var uanaVigatorOs = navigator.userAgent; 10var AgentUserOs= uanaVigatorOs.replace(/ /g,''); 11var Ostxt=""; 12var OSName=""; 13var OsVers=""; 14 15// This script sets OSName variable as follows: 16// "Windows" for all versions of Windows 17// "MacOS" for all versions of Macintosh OS 18// "Linux" for all versions of Linux 19// "UNIX" for all other UNIX flavors 20// "Unknown OS" indicates failure to detect the OS 21 22new function() { 23 var OsNo = navigator.userAgent.toLowerCase(); 24 25 jQuery.os = { 26 Linux: /linux/.test(OsNo), 27 Unix: /x11/.test(OsNo), 28 Mac: /mac/.test(OsNo), 29 Windows: /win/.test(OsNo) 30 } 31} 32 33function OSInfoDev(){ 34 35 if($.os.Windows) { 36 if(AgentUserOs.indexOf("WindowsCE") != -1) OSName="Windows CE"; 37 else if(AgentUserOs.indexOf("Windows95") != -1) OSName="Windows 95"; 38 else if(AgentUserOs.indexOf("Windows98") != -1) { 39 if (AgentUserOs.indexOf("Win9x4.90") != -1) OSName="Windows Millennium Edition (Windows Me)" 40 else OSName="Windows 98"; 41 } 42 else if(AgentUserOs.indexOf("WindowsNT4.0") != -1) OSName="Microsoft Windows NT 4.0"; 43 else if(AgentUserOs.indexOf("WindowsNT5.0") != -1) OSName="Windows 2000"; 44 else if(AgentUserOs.indexOf("WindowsNT5.01") != -1) OSName="Windows 2000, Service Pack 1 (SP1)"; 45 else if(AgentUserOs.indexOf("WindowsNT5.1") != -1) OSName="Windows XP"; 46 else if(AgentUserOs.indexOf("WindowsNT5.2") != -1) OSName="Windows 2003"; 47 else if(AgentUserOs.indexOf("WindowsNT6.0") != -1) OSName="Windows Vista/Server 2008"; 48 else if(AgentUserOs.indexOf("WindowsNT6.1") != -1) OSName="Windows 7"; 49 else if(AgentUserOs.indexOf("WindowsNT6.2") != -1) OSName="Windows 8"; 50 else if(AgentUserOs.indexOf("WindowsNT6.3") != -1) OSName="Windows 8.1"; 51 else if(AgentUserOs.indexOf("WindowsNT6.4") != -1) OSName="Windows 10"; 52 else if(AgentUserOs.indexOf("WindowsPhone8.0") != -1) OSName="Windows Phone 8.0"; 53 else if(AgentUserOs.indexOf("WindowsPhoneOS7.5") != -1) OSName="Windows Phone OS 7.5"; 54 else if(AgentUserOs.indexOf("Xbox") != -1) OSName="Xbox 360"; 55 else if(AgentUserOs.indexOf("XboxOne") != -1) OSName="Xbox One"; 56 else if(AgentUserOs.indexOf("Win16") != -1) OSName="Windows 3.x"; 57 else if(AgentUserOs.indexOf("ARM") != -1) OSName="Windows RT"; 58 else OSName="Windows (Unknown)"; 59 60 if(AgentUserOs.indexOf("WOW64") != -1) OsVers=", WOW64"; 61 else if(AgentUserOs.indexOf("Win64;x64;") != -1) OsVers=", Win64 on x64"; 62 else if(AgentUserOs.indexOf("Win16") != -1) OsVers=" 16-bit"; 63 else OsVers=" on x86"; 64 65 } else if ($.os.Linux) { 66 if(AgentUserOs.indexOf("Android") != -1) { OSName = getAndroidDevName(); } 67 else if(AgentUserOs.indexOf("BlackBerry9000") != -1) OSName="BlackBerry9000"; 68 else if(AgentUserOs.indexOf("BlackBerry9300") != -1) OSName="BlackBerry9300"; 69 else if(AgentUserOs.indexOf("BlackBerry9700") != -1) OSName="BlackBerry9700"; 70 else if(AgentUserOs.indexOf("BlackBerry9780") != -1) OSName="BlackBerry9780"; 71 else if(AgentUserOs.indexOf("BlackBerry9900") != -1) OSName="BlackBerry9900"; 72 else if(AgentUserOs.indexOf("BlackBerry;Opera Mini") != -1) OSName="Opera/9.80"; 73 else if(AgentUserOs.indexOf("Symbian/3") != -1) OSName="Symbian OS3"; 74 else if(AgentUserOs.indexOf("SymbianOS/6") != -1) OSName="Symbian OS6"; 75 else if(AgentUserOs.indexOf("SymbianOS/9") != -1) OSName="Symbian OS9"; 76 else if(AgentUserOs.indexOf("Ubuntu") != -1) OSName="Ubuntu"; 77 else if(AgentUserOs.indexOf("PDA") != -1) OSName="PDA"; 78 else if(AgentUserOs.indexOf("NintendoWii") != -1) OSName="Nintendo Wii"; 79 else if(AgentUserOs.indexOf("PSP") != -1) OSName="PlayStation Portable"; 80 else if(AgentUserOs.indexOf("PS2;") != -1) OSName="PlayStation 2"; 81 else if(AgentUserOs.indexOf("PLAYSTATION3") != -1) OSName="PlayStation 3"; 82 else OSName="Linux (Unknown)"; 83 84 if(AgentUserOs.indexOf("x86_64") != -1) OsVers=", x86_64"; 85 else if(AgentUserOs.indexOf("i686") != -1) OsVers=", i686"; 86 else if(AgentUserOs.indexOf("i686 on x86_64") != -1) OsVers=", i686 running on x86_64"; 87 else if(AgentUserOs.indexOf("armv7l") != -1) OsVers=" Nokia N900 Linux mobile, on the Fennec browser"; 88 else if(AgentUserOs.indexOf("IA-32") != -1) OsVers=" 32-bit"; 89 else OsVers=""; 90 91 } else if ($.os.Unix) { 92 OSName="UNIX"; 93 } else if ($.os.Mac) { 94 if(AgentUserOs.indexOf("iPhoneOS3") != -1) OSName="iPhone OS 3"; 95 else if(AgentUserOs.indexOf("iPhoneOS4") != -1) OSName="iPhone OS 4"; 96 else if(AgentUserOs.indexOf("iPhoneOS5") != -1) OSName="iPhone OS 5"; 97 else if(AgentUserOs.indexOf("iPhoneOS6") != -1) OSName="iPhone OS 6"; 98 else if(AgentUserOs.indexOf("iPhoneOS7") != -1) OSName="iPhone OS 7"; 99 else if(AgentUserOs.indexOf("iPhoneOS8") != -1) OSName="iPhone OS 8"; 100 else if(AgentUserOs.indexOf("iPhoneOS9") != -1) OSName="iPhone OS 9"; 101 else if(AgentUserOs.indexOf("iPad") != -1) OSName="iPad"; 102 else if((AgentUserOs.indexOf("MacOSX10_1")||AgentUserOs.indexOf("MacOSX10.1")) != -1) OSName="Mac OS X Puma"; 103 else if((AgentUserOs.indexOf("MacOSX10_2")||AgentUserOs.indexOf("MacOSX10.2")) != -1) OSName="Mac OS X Jaguar"; 104 else if((AgentUserOs.indexOf("MacOSX10_3")||AgentUserOs.indexOf("MacOSX10.3")) != -1) OSName="Mac OS X Panther"; 105 else if((AgentUserOs.indexOf("MacOSX10_4")||AgentUserOs.indexOf("MacOSX10.4")) != -1) OSName="Mac OS X Tiger"; 106 else if((AgentUserOs.indexOf("MacOSX10_5")||AgentUserOs.indexOf("MacOSX10.5")) != -1) OSName="Mac OS X Leopard"; 107 else if((AgentUserOs.indexOf("MacOSX10_6")||AgentUserOs.indexOf("MacOSX10.6")) != -1) OSName="Mac OS X Snow Leopard"; 108 else if((AgentUserOs.indexOf("MacOSX10_7")||AgentUserOs.indexOf("MacOSX10.7")) != -1) OSName="Mac OS X Lion"; 109 else if((AgentUserOs.indexOf("MacOSX10_8")||AgentUserOs.indexOf("MacOSX10.8")) != -1) OSName="Mac OS X Mountain
109Lion"; 110 else if((AgentUserOs.indexOf("MacOSX10_9")||AgentUserOs.indexOf("MacOSX10.9")) != -1) OSName="Mac OS X Mavericks"; 111 else if((AgentUserOs.indexOf("MacOSX10_10")||AgentUserOs.indexOf("MacOSX10.10")) != -1) OSName="Mac OS X Yosemite"; 112 else OSName="MacOS (Unknown)"; 113 114 if(AgentUserOs.indexOf("Intel") != -1) OsVers=" on Intel x86 or x86_64"; 115 else if(AgentUserOs.indexOf("PPC") != -1) OsVers=" on PowerPC"; 116 else OsVers=""; 117 118 } else { 119 OSName="Unknown OS"; 120 } 121 var OSDev = OSName; 122 return OSDev; 123} 124 125// Androidì ë¨ë§ ì´ë¦ì ë°í 126function getAndroidDevName() { 127 var uaAdata = navigator.userAgent; 128 var regex = /Android (.*);.*;\s*(.*)\sBuild/; 129 var match = regex.exec(uaAdata); 130 if(match) { 131 var ver = match[1]; 132 var dev_name = match[2]; 133 return "Android " + ver + " " + dev_name; 134 } 135return "Android OS"; 136} 137 138// OSInfoDev() ë OSì´ë¦ê³¼ ë²ì ì¶ë ¥íë í¨ì 139// AgentUserOs ë userAgent ì¶ë ¥
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.