달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  //디바이스타입 파악을 위한 변수
  var MOBILE_USER_AGENT_PREFIXES = [ "w3c ", "w3c-", "acs-", "alav",
     "alca", "amoi", "audi", "avan", "benq", "bird", "blac", "blaz", "brew",
     "cell", "cldc", "cmd-", "dang", "doco", "eric", "hipt", "htc_", "inno",
     "ipaq", "ipod", "jigs", "kddi", "keji", "leno", "lg-c", "lg-d", "lg-g",
     "lge-", "lg/u", "maui", "maxo", "midp", "mits", "mmef", "mobi", "mot-",
     "moto", "mwbp", "nec-", "newt", "noki", "palm", "pana", "pant", "phil",
     "play", "port", "prox", "qwap", "sage", "sams", "sany", "sch-", "sec-",
     "send", "seri", "sgh-", "shar", "sie-", "siem", "smal", "smar", "sony",
     "sph-", "symb", "t-mo", "teli", "tim-", "tosh", "tsm-", "upg1", "upsi",
     "vk-v", "voda", "wap-", "wapa", "wapi", "wapp", "wapr", "webc", "winw",
     "winw", "xda ", "xda-" ];
  var MOBILE_USER_AGENT_KEYWORDS = [ "blackberry", "webos", "ipod",
     "lge vx", "midp", "maemo", "mmp", "netfront", "hiptop", "nintendo DS",
     "novarra", "openweb", "opera mobi", "opera mini", "palm", "psp",
     "phone", "smartphone", "symbian", "up.browser", "up.link", "wap",
     "windows ce" ];
  var TABLET_USER_AGENT_KEYWORDS = [ "ipad", "playbook", "hp-tablet" ]; 
 
  //디바이스타입 파악
  // @returns NORMAL(PC), MOBILE, TABLET
  function getDeviceType() {
   var userAgent = navigator.userAgent.toLowerCase();
   if (userAgent != null && userAgent.length > 0) {
    var tUserAgent = userAgent.slice(0, 4);
     
    for ( var i = 0; i < MOBILE_USER_AGENT_PREFIXES.length; i++) {
     if (tUserAgent.indexOf(MOBILE_USER_AGENT_PREFIXES[i], 0) != -1) {
      return 'MOBILE';
     }
    }
   }
   
   for ( var i = 0; i < MOBILE_USER_AGENT_KEYWORDS.length; i++) {
    if (userAgent.indexOf(MOBILE_USER_AGENT_KEYWORDS[i], 0) != -1) {
     return 'MOBILE';
    }
   }
   
   for ( var ii = 0; ii < TABLET_USER_AGENT_KEYWORDS.length; ii++) {
    if (userAgent.indexOf(TABLET_USER_AGENT_KEYWORDS[ii], 0) != -1) {
     return 'TABLET';
    }
   }
   
   if (userAgent.indexOf("android") != -1 && userAgent.indexOf("mobile") != -1) {
    return 'MOBILE';
   } else if (userAgent.indexOf("android") != -1
     && userAgent.indexOf("mobile") == -1) {
    return 'TABLET';
   }
   return 'NORMAL';
  } 
   
  //Parameters를 parsing
  // @returns (JSON) parameters
 function getBroadCastParam(){
  
  var param ={};
  var varName = '';
  var value = '';
  var nowAddress = decodeURIComponent(location.href);
  var parameters = '';
   
  if(nowAddress.indexOf('?') != -1){
   parameters = (nowAddress.slice(nowAddress.indexOf('?')+1,nowAddress.length)).split('&');
   for(var i = 0 ; i < parameters.length ; i++)  {
    varName = parameters[i].split('=')[0];
    value = parameters[i].split('=')[1];
    param[varName] = value;
   }
  }
   
  param["deviceType"] = getDeviceType();
  param["proxyPage"] = "Y";
   
  return param;
 }
  
 
  
 /* ★사용법★*/
  var param = getBroadCastParam();
  if (param["deviceType"] != 'MOBILE') {
      param["deviceType"] = 'NORMAL';
  }

'Dev Language > JAVASCRIPT' 카테고리의 다른 글

JAVASCRIPT 날짜 사용하기  (0) 2015.04.07
JAVASCRIPT PARAM 값 가져오기  (0) 2015.03.19
script 암호화 encrypted  (0) 2015.02.24
타이머  (0) 2015.02.24
달팽이 for문  (0) 2015.02.24
Posted by 타카스 류지
|