반응형
// This script sets OSName variable as follows:
// "Windows" for all versions of Windows
// "MacOS" for all versions of Macintosh OS
// "Linux" for all versions of Linux
// "UNIX" for all other UNIX flavors
// "Unknown OS" indicates failure to detect the OS
new function () {
var OsNo = navigator.userAgent.toLowerCase();
jQuery.os = {
Linux: /linux/.test(OsNo),
Unix: /x11/.test(OsNo),
Mac: /mac/.test(OsNo),
Windows: /win/.test(OsNo)
}
}
function GetOperatingSystem()
{
var tempUserAgent = navigator.userAgent.replace(/ /g, '');
var operatingSystem = "";
if ($.os.Windows) {
if (tempUserAgent.indexOf("WindowsCE") != -1) {
operatingSystem = "Windows CE";
}
else if (tempUserAgent.indexOf("Windows95") != -1) {
operatingSystem = "Windows 95";
}
else if (tempUserAgent.indexOf("Windows98") != -1) {
if (tempUserAgent.indexOf("Win9x4.90") != -1) {
operatingSystem = "Windows Millennium Edition (Windows Me)"
}
else {
operatingSystem = "Windows 98";
}
}
else if (tempUserAgent.indexOf("WindowsNT4.0") != -1) {
operatingSystem = "Microsoft Windows NT 4.0";
}
else if (tempUserAgent.indexOf("WindowsNT5.0") != -1) {
operatingSystem = "Windows 2000";
}
else if (tempUserAgent.indexOf("WindowsNT5.01") != -1) {
operatingSystem = "Windows 2000, Service Pack 1 (SP1)";
}
else if (tempUserAgent.indexOf("WindowsNT5.1") != -1) {
operatingSystem = "Windows XP";
}
else if (tempUserAgent.indexOf("WindowsNT5.2") != -1) {
operatingSystem = "Windows 2003";
}
else if (tempUserAgent.indexOf("WindowsNT6.0") != -1) {
operatingSystem = "Windows Vista/Server 2008";
}
else if (tempUserAgent.indexOf("WindowsNT6.1") != -1) {
operatingSystem = "Windows 7";
}
else if (tempUserAgent.indexOf("WindowsNT6.2") != -1) {
operatingSystem = "Windows 8";
}
else if (tempUserAgent.indexOf("WindowsNT6.3") != -1) {
operatingSystem = "Windows 8.1";
}
else if (tempUserAgent.indexOf("WindowsNT6.4") != -1) {
operatingSystem = "Windows 10";
}
else if (tempUserAgent.indexOf("WindowsPhone8.0") != -1) {
operatingSystem = "Windows Phone 8.0";
}
else if (tempUserAgent.indexOf("WindowsPhoneOS7.5") != -1) {
operatingSystem = "Windows Phone OS 7.5";
}
else if (tempUserAgent.indexOf("Xbox") != -1) {
operatingSystem = "Xbox 360";
}
else if (tempUserAgent.indexOf("XboxOne") != -1) {
operatingSystem = "Xbox One";
}
else if (tempUserAgent.indexOf("Win16") != -1) {
operatingSystem = "Windows 3.x";
}
else if (tempUserAgent.indexOf("ARM") != -1) {
operatingSystem = "Windows RT";
}
else {
operatingSystem = "Windows (Unknown)";
}
}
else if ($.os.Linux) {
if (tempUserAgent.indexOf("Android") != -1) {
operatingSystem = GetAndroidDevName();
}
else if (tempUserAgent.indexOf("BlackBerry9000") != -1) {
operatingSystem = "BlackBerry9000";
}
else if (tempUserAgent.indexOf("BlackBerry9300") != -1) {
operatingSystem = "BlackBerry9300";
}
else if (tempUserAgent.indexOf("BlackBerry9700") != -1) {
operatingSystem = "BlackBerry9700";
}
else if (tempUserAgent.indexOf("BlackBerry9780") != -1) {
operatingSystem = "BlackBerry9780";
}
else if (tempUserAgent.indexOf("BlackBerry9900") != -1) {
operatingSystem = "BlackBerry9900";
}
else if (tempUserAgent.indexOf("BlackBerry;Opera Mini") != -1) {
operatingSystem = "Opera/9.80";
}
else if (tempUserAgent.indexOf("Symbian/3") != -1) {
operatingSystem = "Symbian OS3";
}
else if (tempUserAgent.indexOf("SymbianOS/6") != -1) {
operatingSystem = "Symbian OS6";
}
else if (tempUserAgent.indexOf("SymbianOS/9") != -1) {
operatingSystem = "Symbian OS9";
}
else if (tempUserAgent.indexOf("Ubuntu") != -1) {
operatingSystem = "Ubuntu";
}
else if (tempUserAgent.indexOf("PDA") != -1) {
operatingSystem = "PDA";
}
else if (tempUserAgent.indexOf("NintendoWii") != -1) {
operatingSystem = "Nintendo Wii";
}
else if (tempUserAgent.indexOf("PSP") != -1) {
operatingSystem = "PlayStation Portable";
}
else if (tempUserAgent.indexOf("PS2;") != -1) {
operatingSystem = "PlayStation 2";
}
else if (tempUserAgent.indexOf("PLAYSTATION3") != -1) {
operatingSystem = "PlayStation 3";
}
else {
operatingSystem = "Linux (Unknown)";
}
}
else if ($.os.Unix) {
operatingSystem = "UNIX";
}
else if ($.os.Mac) {
if (tempUserAgent.indexOf("iPhoneOS3") != -1) {
operatingSystem = "iPhone OS 3";
}
else if (tempUserAgent.indexOf("iPhoneOS4") != -1) {
operatingSystem = "iPhone OS 4";
}
else if (tempUserAgent.indexOf("iPhoneOS5") != -1) {
operatingSystem = "iPhone OS 5";
}
else if (tempUserAgent.indexOf("iPhoneOS6") != -1) {
operatingSystem = "iPhone OS 6";
}
else if (tempUserAgent.indexOf("iPhoneOS7") != -1) {
operatingSystem = "iPhone OS 7";
}
else if (tempUserAgent.indexOf("iPhoneOS8") != -1) {
operatingSystem = "iPhone OS 8";
}
else if (tempUserAgent.indexOf("iPad") != -1) {
operatingSystem = "iPad";
}
else if ((tempUserAgent.indexOf("MacOSX10_1") || tempUserAgent.indexOf("MacOSX10.1")) != -1) {
operatingSystem = "Mac OS X Puma";
}
else if ((tempUserAgent.indexOf("MacOSX10_2") || tempUserAgent.indexOf("MacOSX10.2")) != -1) {
operatingSystem = "Mac OS X Jaguar";
}
else if ((tempUserAgent.indexOf("MacOSX10_3") || tempUserAgent.indexOf("MacOSX10.3")) != -1) {
operatingSystem = "Mac OS X Panther";
}
else if ((tempUserAgent.indexOf("MacOSX10_4") || tempUserAgent.indexOf("MacOSX10.4")) != -1) {
operatingSystem = "Mac OS X Tiger";
}
else if ((tempUserAgent.indexOf("MacOSX10_5") || tempUserAgent.indexOf("MacOSX10.5")) != -1) {
operatingSystem = "Mac OS X Leopard";
}
else if ((tempUserAgent.indexOf("MacOSX10_6") || tempUserAgent.indexOf("MacOSX10.6")) != -1) {
operatingSystem = "Mac OS X Snow Leopard";
}
else if ((tempUserAgent.indexOf("MacOSX10_7") || tempUserAgent.indexOf("MacOSX10.7")) != -1) {
operatingSystem = "Mac OS X Lion";
}
else if ((tempUserAgent.indexOf("MacOSX10_8") || tempUserAgent.indexOf("MacOSX10.8")) != -1) {
operatingSystem = "Mac OS X Mountain Lion";
}
else if ((tempUserAgent.indexOf("MacOSX10_9") || tempUserAgent.indexOf("MacOSX10.9")) != -1) {
operatingSystem = "Mac OS X Mavericks";
}
else if ((tempUserAgent.indexOf("MacOSX10_10") || tempUserAgent.indexOf("MacOSX10.10")) != -1) {
operatingSystem = "Mac OS X Yosemite";
}
else {
operatingSystem = "MacOS (Unknown)";
}
}
else {
operatingSystem = "(Unknown OS)";
}
return operatingSystem;
}
반응형
'JavaScript > Reference' 카테고리의 다른 글
[JS] 웹 브라우저가 자바 스크립트의 선언적 함수와 익명 함수 읽는 순서 (0) | 2024.12.11 |
---|---|
[JS] 브라우저가 지원하는 기능 체크 & 하드웨어 정보 (0) | 2024.12.11 |
[JS] OS 아키텍처 구하는 함수 (0) | 2024.12.11 |
[JS] 안드로이드 디바이스 이름 구하는 함수 (0) | 2024.12.11 |
[JS] 브라우저 알아내는 함수 (0) | 2024.12.11 |