특히 요즘에는 다양한 브라우저가 여기저기서 날고 있습니다(IE를 핵심으로 하는 브라우저가 200개나 된다고 합니다).
오늘은 주로 브라우저 커널과 셸의 유형과 버전을 식별하는 데 사용되는 jQuery 기반의 플러그인 확장을 작성했습니다. 다양한 브라우저의 커널을 식별할 수 있으며 이미 다양한 국내 주류 브라우저를 지원하고 있습니다.
더 이상 고민하지 말고 제 JavaScript 코드는 다음과 같습니다. (파일 이름: jquery.browsertype-1.0.js)
/**
* jQuery 플러그인 개발 방법 2: 1단계: 플러그인 정의
*/
jQuery.myPlugin = {
//브라우저 커널 및 셸의 유형과 버전 가져오기
클라이언트 : function(){
//브라우저 커널 유형(5가지 유형만)
varengine = { ie:0, webkit:0, gecko:0, Opera:0, khtml:0 }; //브라우저 쉘 유형(일반적인 국내 브라우저에는 360 브라우저, Maxthon, Tencent QQTT 브라우저, Window of the World, Comet Browser, Green Browser, Traditional IE, Google Chrome, Netscape, Firefox, Opera, Apple Safari 등이 포함됩니다.)
var shell = { se360:0, se:0, maxthon:0, qq:0, tt:0, theworld:0, Cometbrowser:0, greenbrowser:0, ie:0, chrome :0, netscape:0, firefox:0, Opera:0, safari:0, konq:0 };
//클라이언트 브라우저 정보 가져오기
var ua = navigator.userAgent.toLowerCase()
for(엔진의 var 유형) {
if (typeof type === 'string') {
var regexp = 'gecko' === type ? /rv:([w.] )/ : RegExp(type '[ \/]( [\w.] )');
if (regexp.test(ua)){
engine.version = window.opera ? window.opera.version() : RegExp.$1;//브라우저 커널 버전
engine[type] = parsFloat(engine.version);
engine.type = type;//브라우저 커널 유형
break
}
}
for (셸의 var 유형) {
if (typeof type === 'string') {
var regexp = null
switch(type) {
case "se360": regexp = /360se (?:[ /]([w.] ))?/; break;
case "se": regexp = /se ([w.] )/; break; /qqbrowser/([w.] )/; break;
case "tt": regexp = /tencenttraveler ([w.] )/; break; w.] )/; break;
case "konq": regexp = /konqueror/([w.] )/; break
case "netscape" : regexp = /navigator/([w.] ) /; 중단;
기본값: regexp(유형 '(?:[ \/]([\w.] ))?')
}
if (regexp.test(ua)) {
shell.version = window.opera ? window.opera.version() : RegExp.$1 ? RegExp.$1 : '알 수 없음';//브라우저 쉘 버전
shell[type] = parseFloat(shell.version );
shell.type = type;//브라우저 쉘 유형
break;
}
}
}
//브라우저 커널 및 쉘의 유형과 버전을 반환합니다. 엔진은 커널, 쉘은 쉘
return { 엔진: 엔진, 쉘: 쉘 }
}
}
/**
* jQuery 플러그인 개발 방법 2: 2단계: 플러그인 실행
* jQuery.myBrowser 플러그인: 브라우저 커널과 셸의 유형 및 버전 얻기
* 사용 예:
* (1) 브라우저 커널: 경고("브라우저 정보는 다음과 같습니다: nkernel 유형: " jQuery.myBrowser.engine.type ", 커널 버전: " jQuery.myBrowser.engine.version)
* ( 2) 브라우저 셸: 경고("귀하의 브라우저 정보는 다음과 같습니다: 셸 유형: " jQuery.myBrowser.shell.type ", 셸 버전: " jQuery.myBrowser.shell.version);*/
jQuery.myBrowser = jQuery.myPlugin.Client();
사용 예: (test.html)
코드 복사