[JS] OS 아키텍처 구하는 함수

function GetOperatingSystemArch() {
	var tempUserAgent = navigator.userAgent.replace(/ /g, '');
	var operatingSystemArch = "";
	if ($.os.Windows) {
		if (tempUserAgent.indexOf("WOW64") != -1) {
			operatingSystemArch = "WOW64";
		}
		else if (tempUserAgent.indexOf("Win64;x64") != -1) {
			operatingSystemArch = "Win64 on x64";
		}
		else if (tempUserAgent.indexOf("Win16") != -1) {
			operatingSystemArch = "16-bit";
		}
		else {
			operatingSystemArch = "x86";
		}
	}
	else if ($.os.Linux) {
		if (tempUserAgent.indexOf("x86_64") != -1) {
			operatingSystemArch = "x86_64";
		}
		else if (tempUserAgent.indexOf("i686") != -1) {
			operatingSystemArch = "i686";
		}
		else if (tempUserAgent.indexOf("i686 on x86_64") != -1) {
			operatingSystemArch = "i686 running on x86_64";
		}
		else if (tempUserAgent.indexOf("armv7l") != -1) {
			operatingSystemArch = "Nokia N900 Linux mobile, on the Fennec browser";
		}
		else if (tempUserAgent.indexOf("IA-32") != -1) {
			operatingSystemArch = "32-bit";
		}
		else {
			operatingSystemArch = "(Unknown Version)";
		}
	}
	else if ($.os.Unix) {
		operatingSystemArch = "(Unknown Version)";
	}
	else if ($.os.Mac) {
		if (tempUserAgent.indexOf("Intel") != -1) {
			operatingSystemArch = "Intel x86 or x86_64";
		}
		else if (tempUserAgent.indexOf("PPC") != -1) {
			operatingSystemArch = "PowerPC";
		}
		else {
			operatingSystemArch = "(Unknown Version)";
		}
	}
	else {
		operatingSystemArch = "(Unknown Version)";
	}
	
	return operatingSystemArch;
}

댓글

이 블로그의 인기 게시물

[NSIS] 32비트와 64비트 모듈 등록하는 법. (regsvr32)

[Visual Studio] Windows 7 에서 Visual Studio 6.0 디버그 시 프로세스 좀비되는 증상 해결 방법