>  기사  >  웹 프론트엔드  >  자바스크립트 연구 노트(6) 브라우저 유형 및 버전 정보 감지 코드_기본 지식

자바스크립트 연구 노트(6) 브라우저 유형 및 버전 정보 감지 코드_기본 지식

WBOY
WBOY원래의
2016-05-16 18:07:57852검색

아래 checkBrowser() 함수는 주로 세 가지 브라우저(IE, Firefox, Chrome)를 감지합니다. 다른 브라우저 감지에 관심이 있는 친구는 스스로 감지 코드를 추가할 수 있습니다!
HTML 부분 코드 : (페이지 로딩 시 감지 기능 실행)

코드 복사 코드는 다음과 같습니다.





javascript 부분 코드:
탐지 원리는 주로 브라우저의 사용자 에이전트에서 브라우저와 유형 및 버전 정보를 추출하는 것을 기반으로 합니다. header nanigator.userAgent. 정규식은 우리의 요구를 쉽게 충족할 수 있습니다. 정규식에 익숙하지 않은 경우 이 문서(정규식)
를 참조하세요. 코드 복사 코드는 다음과 같습니다.

function check(reg) {
var ug = navigator.userAgent.toLowerCase()
return reg.test(ug);
}
function checkBrowser() {
var ug = navigator.userAgent.toLowerCase()
var userAgent = document.getElementById("userAgent") ;
userAgent .innerHTML = "브라우저의 사용자 에이전트 헤더:" ug;
var browserType = "";
var ver = ""
//IE 및 버전 감지
var IE = ug.match (/msies*d.d/); //브라우저 유형 및 버전 정보를 추출합니다. match() 메서드는 문자열 대신 배열을 반환합니다.
var isIE = check(/msie/); if(isIE ) {
browserType = "Internet Explorer";
ver = IE.join(" ").match(/[0-9]/g).join("."); Join( first ) 메서드를 문자열로 변환한 다음 match() 메서드를 사용하여 버전 정보를 일치시킨 다음 Join() 메서드를 사용하여 문자열로 변환합니다
}
//chrome 및 버전 감지
var chrome = ug.match (/chrome/d.d/gi);
var isChrome = check(/chrome/);
if(isChrome) {
browserType = "Chrome"
ver = chrome.join(" " ).match(/[0-9]/g).join(".");
}
//firefox 및 버전 감지
var firefox = ug. match(/firefox/d.d/gi );
var isFirefox = check(/firefox/);
if(isFirefox) {
browserType = "Firefox"
ver = firefox.join(" ").match(/[0 -9]/g).join(".");
}
var browser = document.getElementById("browser");
browser.innerHTML = "The 사용 중인 브라우저는 다음과 같습니다:" browserType "버전: " ver;
}


PS: 각 브라우저의 사용자 에이전트 정보는 다음과 같습니다.
IE:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; BOIE9;ZHCN);
firefox:Mozilla/5.0 (Windows NT 6.1; rv:2.0) Gecko/20100101 Firefox/4.0;
chrome:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.98 Safari/534.13
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.