๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ฐœ๋ฐœ์ด์•ผ๊ธฐ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(JS) ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•œ PC/Mobile ๊ตฌ๋ถ„

๋ฐ˜์‘ํ˜•

ํด๋ผ์ด์–ธํŠธ๋‹จ์—์„œ PC์™€ ๋ชจ๋ฐ”์ผ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰์‹œ์ผœ์•ผ ํ•ด์„œ ์ฐพ๋˜ ์ค‘ ์ถ”ํ›„ ์ž‘์—…์— ์šฉ์ด ํ•  ๊ฒƒ ๊ฐ™์•„ ๊ธฐ๋ก ํ•จ

๋ธŒ๋ผ์šฐ์ €์˜ navigator ๊ฐ์ฒด ์‚ฌ์šฉ.

๊ฒ€์ƒ‰๋˜๋Š” ์ฝ”๋“œ๋“ค์„ ์‚ดํŽด๋ณด๋‹ˆ, platform์ •๋ณด๋กœ ์‰ฝ๊ฒŒ ๊ตฌ๋ถ„์ด ๊ฐ€๋Šฅํ•œ๋ฐ

web๋Œ์ด๋Š” ์›ํ™œํ•œ ํ…Œ์ŠคํŠธ์™€ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด userAgent ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ–‡๋‹ค.

navigator ๊ฐ์ฒด์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์•„๋ž˜ url์—์„œ ์ž์„ธํžˆ ํ™•์ธ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ธŒ๋ผ์šฐ์ €, ์šด์˜์ฒด์ œ๋ณ„ ์ œ๊ณตํ•˜๋Š” ์ •๋ณด๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋‹ˆ, ์œ ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผํ•˜๊ณ .

๊ณตํ†ต์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ์ •๋ณด๋งŒ ์‚ฌ์šฉํ• ๊ฒƒ์„ ๊ถŒ์žฅ ํ•จ.

https://developer.mozilla.org/ko/docs/Web/API/Navigator

https://www.w3schools.com/jsref/obj_navigator.asp

์•„๋ž˜ ์ฝ”๋“œ๋“ค์„ ๊ฐ€๊ณตํ•˜๋ฉด, ํŠน์ • ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ™•์ธํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…๋„ ์‰ฝ๊ฒŒ ๊ฐ€๋Šฅ ํ•จ


1. OS
   navigator.platform ์ •๋ณด๋ฅผ ์ด์šฉํ•œ ๊ตฌ๋ถ„๋ฒ•์ด๋‹ค.
   navigator.platform ์ •๋ณด๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š” OS ์ •๋ณด๋ฅผ returnํ•œ๋‹ค. 

function chk_mobile() {
    var filter = "win16|win32|win64|mac|macintel";
    if (navigator.platform) {
        if (filter.indexOf(navigator.platform.toLowerCase()) < 0) {
            return true;
        } else {
            return false;
        }
    }
}

 

2. userAgent
   navigator.userAgent ์ •๋ณด๋ฅผ ์ด์šฉํ•œ ๊ตฌ๋ถ„๋ฒ•์ด๋‹ค.
   userAgent ์ •๋ณด๋Š” ์„œ๋ฒ„์ธก์— ๋ณด๋‚ด๋Š” user-agent ํ—ค๋”์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค.

function chk_mobile() {
    return /iPhone|iPad|iPod|Android|Mobile|IEMobile|BlackBerry|Windows Phone/i.test(navigator.userAgent);
}