판단 원칙:
JavaScript는 프론트엔드 개발을 위한 주요 언어입니다. JavaScript 프로그램을 작성하여 브라우저의 유형과 버전을 결정할 수 있습니다. 일반적으로 JavaScript가 브라우저 유형을 결정하는 방법에는 두 가지가 있습니다. 하나는 다양한 브라우저의 고유 속성을 기반으로 하고, 다른 하나는 브라우저의 userAgent 속성을 분석하여 결정합니다. 많은 경우, 값에 따라 브라우저 유형을 결정한 후 호환성 문제를 처리하기 위해 브라우저 버전을 결정해야 하며, 브라우저 버전은 일반적으로 브라우저의 userAgent를 분석해야만 알 수 있습니다.
브라우저 유형
⑴ 브라우저별 속성
⑵userAgent에 따르면
브라우저 버전
⑴userAgent에 따르면
모바일 브라우저에 대한 판단
1. 정규 매칭을 이용한 모바일 단말인지 어떻게 판단하나요?
navigator.userAgent에 AppleWebKit*****Mobile 문자열이 포함되어 있는지 여부와 일치
Android qq 브라우저 HD 버전에는 AppleWebKit만 있습니다.
2. 휴대폰 언어버전 판단
Windows Phone 언어 버전을 얻으려면 navigator.browserLanguage를 사용하십시오.
물론, 이 혐오스러운 작은 휴대폰의 언어 버전에도 호환성 차이가 있습니다. Mozilla 및 Apple WebKit 커널과 호환되는 브라우저는 해당 언어 버전에 액세스할 때 navigator.언어를 나열합니다.
암호:
다음과 같이 코드 코드를 복사합니다.
<스크립트 유형="텍스트/자바스크립트">
var 브라우저={
버전:함수(){
var u = navigator.userAgent, app = navigator.appVersion;
return { //모바일 단말 브라우저 버전 정보
trident: u.indexOf('Trident') > -1, //IE 커널
presto: u.indexOf('Presto') > -1, //오페라 커널
webKit: u.indexOf('AppleWebKit') > -1, //애플, 구글 커널
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //Firefox 커널
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //모바일 단말기인지 여부
ios: !!u.match(//(i[^;]+;( U;)? CPU.+Mac OS X/), //ios 터미널
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //안드로이드 터미널 또는 uc 브라우저
iPhone: u.indexOf('iPhone') > -1 , //iPhone 브라우저인지 QQHD 브라우저인지 여부
iPad: u.indexOf('iPad') > -1, //아이패드인지 여부
webApp: u.indexOf('Safari') == -1 //웹이 헤더와 하단이 없는 프로그램이어야 하는지 여부
};
}(),
언어:(navigator.browserLanguage || navigator.언어).toLowerCase()
}
document.writeln("언어 버전: "+browser.언어);
document.writeln(" 모바일 단말기인지 여부: "+browser.versions.mobile);
document.writeln(" ios 터미널: "+browser.versions.ios);
document.writeln(" 안드로이드 터미널: "+browser.versions.android);
document.writeln(" iPhone인지 여부: "+browser.versions.iPhone);
document.writeln(" iPad 여부: "+browser.versions.iPad);
document.writeln(navigator.userAgent);
</script>
좀 특별한 곳
UC Browser는 Android 헤더가 없고 linux만 반환합니다. 여기에서는 대충 Linux 기반의 Android로 판단됩니다. (전제조건은 UC가 만족하는 모바일 단말이어야 합니다.)
Android QQ Browser HD 버전의 감지 결과는 다음과 같습니다: mac, Safari