>  기사  >  웹 프론트엔드  >  Internet Explorer 6에서 JavaScript를 사용하여 브라우저 버전 및 운영 체제를 검색하는 방법은 무엇입니까?

Internet Explorer 6에서 JavaScript를 사용하여 브라우저 버전 및 운영 체제를 검색하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-23 22:50:15974검색

How to Detect Browser Version and Operating System Using JavaScript in Internet Explorer 6?

JavaScript를 사용하여 브라우저 버전 및 운영 체제 감지

문제:

감지해야 합니다. JavaScript를 사용하는 브라우저 버전 및 운영 체제이지만 제공된 코드가 Internet Explorer에서 작동하지 않습니다. 6.

해결책:

귀하가 제공한 코드는 Internet Explorer 6과 같은 이전 브라우저에서 지원되지 않는 navigator 개체의 특정 속성에 의존합니다. 이 문제를 해결하려면 , 다양한 브라우저 구현을 설명하는 보다 포괄적인 접근 방식을 사용할 수 있습니다.

다음 JavaScript 코드 스니펫은 다음에 대한 자세한 분석을 제공합니다. 브라우저 버전 및 운영 체제:

var nVer = navigator.appVersion;
var nAgt = navigator.userAgent;
var browserName  = navigator.appName;
var fullVersion  = ''+parseFloat(navigator.appVersion); 
var majorVersion = parseInt(navigator.appVersion,10);
var nameOffset,verOffset,ix;

// In Opera, the true version is after "OPR" or after "Version"
if ((verOffset=nAgt.indexOf("OPR"))!=-1) {
 browserName = "Opera";
 fullVersion = nAgt.substring(verOffset+4);
 if ((verOffset=nAgt.indexOf("Version"))!=-1) 
   fullVersion = nAgt.substring(verOffset+8);
}
// In MS Edge, the true version is after "Edg" in userAgent
else if ((verOffset=nAgt.indexOf("Edg"))!=-1) {
 browserName = "Microsoft Edge";
 fullVersion = nAgt.substring(verOffset+4);
}
// In MSIE, the true version is after "MSIE" in userAgent
else if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
 browserName = "Microsoft Internet Explorer";
 fullVersion = nAgt.substring(verOffset+5);
}
// In Chrome, the true version is after "Chrome" 
else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {
 browserName = "Chrome";
 fullVersion = nAgt.substring(verOffset+7);
}
// In Safari, the true version is after "Safari" or after "Version" 
else if ((verOffset=nAgt.indexOf("Safari"))!=-1) {
 browserName = "Safari";
 fullVersion = nAgt.substring(verOffset+7);
 if ((verOffset=nAgt.indexOf("Version"))!=-1) 
   fullVersion = nAgt.substring(verOffset+8);
}
// In Firefox, the true version is after "Firefox" 
else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {
 browserName = "Firefox";
 fullVersion = nAgt.substring(verOffset+8);
}
// In most other browsers, "name/version" is at the end of userAgent 
else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) < 
          (verOffset=nAgt.lastIndexOf('/')) ) 
{
 browserName = nAgt.substring(nameOffset,verOffset);
 fullVersion = nAgt.substring(verOffset+1);
 if (browserName.toLowerCase()==browserName.toUpperCase()) {
  browserName = navigator.appName;
 }
}
// trim the fullVersion string at semicolon/space if present
if ((ix=fullVersion.indexOf(";"))!=-1)
   fullVersion=fullVersion.substring(0,ix);
if ((ix=fullVersion.indexOf(" "))!=-1)
   fullVersion=fullVersion.substring(0,ix);

majorVersion = parseInt(''+fullVersion,10);
if (isNaN(majorVersion)) {
 fullVersion  = ''+parseFloat(navigator.appVersion); 
 majorVersion = parseInt(navigator.appVersion,10);
}

console.log(''
 +'Browser name  = '+browserName+'<br>'
 +'Full version  = '+fullVersion+'<br>'
 +'Major version = '+majorVersion+'<br>'
 +'navigator.appName = '+navigator.appName+'<br>'
 +'navigator.userAgent = '+navigator.userAgent+'<br>'
);

출력 예:

Firefox/12.0의 경우 출력은 다음과 같습니다.

Browser name  = Firefox
Full version  = 12.0
Major version = 12
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0

이 접근 방식은 다양한 브라우저와 버전에서 브라우저 버전과 운영 체제를 포괄적으로 감지합니다.

위 내용은 Internet Explorer 6에서 JavaScript를 사용하여 브라우저 버전 및 운영 체제를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.