1. 간단 버전
Browser: {   
    IE: !!(window.attachEvent && !window.opera),   
    Opera: !!window.opera,   
    WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,   
    Chrome: navigator.userAgent.indexOf("Chrome") > -1,   
    Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,   
    MobileSafari: navigator.userAgent.match(/Apple.*Mobile.*Safari/),   
    ScriptManager: navigator.userAgent.indexOf('ScriptManager') > -1   
}
 
2. 상세 버전은 첨부파일 다운로드
function checkBrowser() {
// ==============================================================================
// Browser Type detection
// ==============================================================================
var browser_name = "";
var browser_version = "";
var browser_roundborder = false;
var browser_roundshadow = false;
var browser_coloralpha = false;
 
if (navigator.userAgent.indexOf('MSIE') > -1) {
browser_name = "IE";
if (/MSIEs+9(.+)[;]/.test(navigator.appVersion)) {
browser_version = '9';
} else if (/MSIEs+8(.+)[;]/.test(navigator.appVersion)) {
browser_version = '8';
} else if (/MSIEs+7(.+)[;]/.test(navigator.appVersion)) {
browser_version = '7';
} else if (/MSIEs+6(.+)[;]/.test(navigator.appVersion)) {
browser_version = '6';
} else if (/MSIEs+5(.+)[;]/.test(navigator.appVersion)) {
browser_version = '5';
}
 
if (document.documentMode) {
browserMode = document.documentMode + "";
} else {
browserMode = browser_version;
}
if (browserMode >= '9') {
browser_roundborder = true;
browser_roundshadow = true;
browser_coloralpha = true;
} else {
browser_roundborder = false;
browser_roundshadow = false;
browser_coloralpha = false;
}
} else if (!!window.opera) {
browser_name = "Opera";
browser_roundborder = true;
browser_roundshadow = true;
browser_coloralpha = true;
} else if (navigator.userAgent.indexOf('Chrome') > -1) {
browser_name = "Chrome";
var versionRegExp = /Chrome/([.d]+)/;
versionRegExp.test(navigator.userAgent);
browser_version = RegExp.$1;
browser_roundborder = true;
browser_roundshadow = true;
browser_coloralpha = true;
} else if (navigator.userAgent.indexOf('WebKit/') > -1) {
browser_name = "WebKit";
var versionRegExp = /WebKit/([.d]+)/;
versionRegExp.test(navigator.userAgent);
browser_version = RegExp.$1;
browser_roundborder = true;
browser_roundshadow = true;
browser_coloralpha = true;
} else if (navigator.userAgent.indexOf('Gecko/') > -1) {
browser_name = "Gecko";
var versionRegExp = /rv:(.+?)[);]/;
versionRegExp.test(navigator.userAgent);
browser_version = RegExp.$1;
browser_roundborder = true;
browser_roundshadow = true;
browser_coloralpha = true;
} else if (navigator.userAgent.match(/Apple.*Mobile.*Safari/)) {
browser_name = "MobileSafari";
browser_roundborder = true;
browser_roundshadow = true;
browser_coloralpha = true;
}
 
var browser_language = "";
if (window.navigator) {
if (window.navigator.language) {
browser_language = navigator.language;
} else if (navigator.browserLanguage) {
browser_language = navigator.browserLanguage;
} else if (navigator.systemLanguage) {
browser_language = navigator.systemLanguage;
} else if (navigator.userLanguage) {
browser_language = navigator.userLanguage;
}
}
 
return {
"BrowserName" : browser_name,
"BrowserVersion" : browser_version,
"BrowserLanguage" : browser_language,
"Roundbrder Support" : browser_roundborder,
"RoundShadow Support" : browser_roundshadow,
"ColorAlpha Support" : browser_coloralpha
};
}
번호 제목 글쓴이 날짜 조회 수
246 [Gemini] ajax 와 fetch 의 차이 황제낙엽 2025.01.04 3419
245 [검토 완료] 디바이스 카메라로 촬영한 사진을 서버에 업로드하기 샘플 황제낙엽 2024.11.21 3987
244 브라우저에서 이미지를 편집(crop 등) 할 수 있는 오픈소스 Cropper.js 황제낙엽 2024.11.16 3842
243 [ChatGPT] json data 의 정렬 [1] 황제낙엽 2024.07.23 3352
242 DOMContentLoaded 이벤트와 window.onload 이벤트 황제낙엽 2024.07.15 3669
241 fetch() 사용 예제들 황제낙엽 2024.07.09 3380
240 [Copilot] Vanilla JavaScript에서 외부 스크립트 파일에 정의된 함수들을 로드 황제낙엽 2024.06.21 3758
239 [Copilot] ES6 모듈(module) 문법 황제낙엽 2024.06.21 3805
238 [Copilot] JSON 객체 내부 데이터를 순회하면서 조회하는 코드 황제낙엽 2024.06.02 3270
237 [Copilot] JavaScript로 서버에 특정 값을 POST 방식으로 전달하고 응답을 기다리지 않고 바로 종료 황제낙엽 2024.05.31 3615
236 json 데이터 내의 변수명에 prefix 로 type 표현하기 황제낙엽 2024.04.15 3361
235 fetch() 함수 사용 예제 file 황제낙엽 2023.11.23 3605
234 현재 document 의 host 와 port 를 얻는 방법 황제낙엽 2023.10.03 4209
233 (Bard) FileReader 로 여러개의 파일을 read 하는 법 file 황제낙엽 2023.08.23 3660
232 How to build a file upload service with vanilla JavaScript file 황제낙엽 2023.08.22 3715
231 (Bard) JavaScript로 JSON 배열을 작성하는 방법 황제낙엽 2023.08.21 3672
230 모바일 브라우저에서 file input element 를 이용하여 여러장의 이미지를 서버에 전송하려 할때 [1] 황제낙엽 2023.08.21 3703
229 navigator.mediaDevices 황제낙엽 2023.08.21 3798
228 Barcode Detection API 황제낙엽 2023.08.06 3854
227 정규식을 이용한 이메일 검증 스크립트 file 황제낙엽 2023.06.25 2894