본문 바로가기

프로그래밍 예제/ 예제

userAgent를 사용하여, 사용자 브라우저 확인하기


'use strict';

var ua = navigator.userAgent,

    browser = $.browser = browser = {} ,
    support = $.support,
    
    ie = ua.match(/(?:msie ([0-9]+)|rv:([0-9\.]+)\) like gecko)/i),

    i;

browser.firefox = (/firefox/i).test(ua);
browser.webkit = (/applewebkit/i).test(ua);
browser.chrome = (/chrome/i).test(ua);
browser.opera = (/opera/i).test(ua);
browser.ios = (/ip(ad|hone|od)/i).test(ua);
browser.android = (/android/i).test(ua);
browser.safari = browser.webkit && !browser.chrome;

if ( ie ) {
    browser.ie = ie = parseInt( ie[1] || ie[2] );
}

browser.os = (navigator.appVersion).match(/(mac|win|linux)/i);
browser.os = ( browser.os )? browser.os[1].toLowerCase() : '';

support.touch = browser.ios || browser.android;
browser.mobile = support.touch && ( browser.ios || browser.android );

$(document.documentElement)
    .addClass(browser.os)
    .addClass(browser.chrome ? 'chrome' : browser.firefox ? 'firefox' : browser.opera ? 'opera' : browser.safari ? 'safari' : browser.ie ? 'ie ie'+browser.ie : '')
    .addClass(browser.webkit ? 'webkit' : '')
    .addClass(browser.ie && 8 > browser.ie ? 'ie8' : '')
    .addClass(browser.ios ? 'ios' : browser.android ? 'android' : '')
    .addClass($.browser.mobile ? 'mobile' : 'desktop'); 


변수 browser는 기본내장객체의 object 객체 

jQuert.support 속성에는 다양한 브라우저 기능 또는 버그를 나타내는 속성이 포함

$.browser 제이쿼리 1.9에서 삭제됨...ㅠㅠ