본문 바로가기

Programming/javascript

모바일 기기체크후 이동 스크립트 및 쿠키로 모바일여부 저장

function check_device() { // 디바이스 체크

var mobileKeyWords = new Array('iPhone', 'iPod','iPad','Android','BlackBerry','SymbianOS','Bada','Kindle','Wii','SCH-','SPH-','CANU-','Windows Phone','Windows CE','POLARIS','Palm','webOS','Dorothy Browser','IEMobile','MobileSafari','Opera Mobi','Opera Mini','MobileExplorer','Minimo','AvantGo','NetFront','Googlebot-Mobile','Nokia','LGPlayer','SonyEricsson','HTC','hp-tablet','SKT','lgtelecom','Vodafone', 'LG', 'MOT', 'SAMSUNG');

var device_name = '';


for (var word in mobileKeyWords){

if (navigator.userAgent.match(mobileKeyWords[word]) != null){

device_name = mobileKeyWords[word];

break;

}

}

return device_name;

}


function setCookie(name,value,expiredays ) {// 쿠키생성

var today = new Date();

today.setDate( today.getDate() + expiredays );

document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + today.toGMTString() + ";";

// setCookie('pc_ver','pc',1); 예제

}


function getCookie(name) {// 쿠키확인

cookie = document.cookie;

name = name + "=";

idx = cookie.indexOf(name);

if(cookie && idx >= 0) {        

tmp = cookie.substring(idx, cookie.length);

deli = tmp.indexOf(";");

if(deli > 0) {

return tmp.substring(name.length, deli);

} else {

return tmp.substring(name.length);

}

}

// getCookie('pc_ver'); // 쿠기확인

}


function oneDelCookie(name) {// 쿠키삭제

today = new Date();

today.setDate(today.getDate() - 1);

document.cookie = name + "=; path=/; expires=" + today.toGMTString() + ";";

// oneDelCookie(name); // 쿠키삭제

}


function allDelCookie() {// 모든쿠키 삭제

cookie = document.cookie.split(";");

total = cookie.length;

for(i=0; i<total; i++) {

name = cookie[i].substring(0, cookie[i].indexOf("="));

oneDelCookie(name);

}

// allDelCookie(); // 전체 쿠기 삭제

}


function allCookieView() {// 전체 쿠키확인

alert(document.cookie);

}


function mainPcCookieDel() {

oneDelCookie('pc_ver'); // 쿠키삭제

}


var cookie_pc = getCookie('pc_ver'); // 쿠키값이 일반 pc버전인지 값체크

var mobile_check = check_device(); // 모바일인지 체크


function pcVersionLink() { // pc버전 링크

if(mobile_check) { // 모바일기기일때

if(cookie_pc != "pc") {// 모바일기기에서 pc버전이 아니면 쿠키생성

setCookie('pc_ver','pc',1); // 쿠키생성

}

location.replace('/'); // pc버전 링크로 이동

}

}


function mobileVersionLink() { // 모바일버전 링크

if(mobile_check) { // 모바일기기일때

if(cookie_pc == "pc") {// 모바일기기에서 pc버전일때

oneDelCookie('pc_ver'); // 쿠키삭제

}

location.replace('/m'); // 모바일버전 링크로 이동

}

}


if(mobile_check) { // 모바일기기일때

window.addEventListener('load', function() { // 모바일에서 주소창 사라지게 하는 스크립트

setTimeout(scrollTo, 0, 0, 1);

}, false);

가난한 콜렉터의 꿈 - 총모아