프로그램/script

심심해서 적어 보는 글... - 접속하는 클라이언트가 모바일버전인지 검사하는 코드 예제

mulderu 2011. 11. 23. 08:09

인터넷 한겨레에서 엿보는 모바일 클라이언트에 대한 포워딩 예제
출처 : http://www.hani.co.kr/section-homepage/include/10/js/mhani.js
 

function chkMobile() { var ret = ''; var mobileAgents = new Array('iPhone', 'iPod', 'iPad', 'Mobile', 'Windows CE', 'BlackBerry', 'Android', 'LG', 'MOT', 'SAMSUNG', 'SonyEricsson'); for (var key in mobileAgents){ if (navigator.userAgent.indexOf(mobileAgents[key])>=0) { ret = (mobileAgents[key]=='iPad')? 'iPad' : 'mobile'; break; } } return ret; }

//
// chkMobile 함수에서 navigator.userAgent string 값에 대해서, indexOf 함수로 모바일여부 리스트와 검사하는군요.
//  
new Array('iPhone', 'iPod', 'iPad', 'Mobile', 'Windows CE', 'BlackBerry', 'Android', 'LG', 'MOT', 'SAMSUNG', 'SonyEricsson');
// 위 Array 가 정확한지는 저도 잘 모르겠으나, 비슷할거라고 추측 합니다. ;)
// 
if( chkMobile() == 'iPad') {
    // run iPad
}
else if( chkMobile() == 'mobile') {
    // run mobile
}
else {
    // plain agent
}