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

JavaScript

[JavaScript] ๋ฐ์Šคํฌํ†ฑ ๋ชจ๋“œ์—์„œ ๋ชจ๋ฐ”์ผ OS ๊ตฌ๋ถ„ํ•˜๊ธฐ (navigator.platform)

์ €๋ฒˆ์— user agent๋งŒ์œผ๋กœ๋Š” ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์™€ PC๊ฐ€ ์™„๋ฒฝํžˆ ๊ตฌ๋ถ„์ด ์•ˆ๋œ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์—ˆ๋‹ค. ํŠนํžˆ ๋ชจ๋ฐ”์ผ์—์„œ ๋ฐ์Šคํฌํ†ฑ ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ๋์—ˆ๋Š”๋ฐ, ๊ทธ๋ž˜์„œ ์Šคํฌ๋ฆฐ ์‚ฌ์ด์ฆˆ์™€ ํ„ฐ์น˜ ์Šคํฌ๋ฆฐ์˜ ์œ ๋ฌด๋ฅผ ์ถ”๊ฐ€๋กœ ํŒ๋‹จํ•ด์ฃผ์–ด์•ผ ํ–ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ์›ฌ๋งŒํ•œ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๋Š” ๊ฐ์ง€๊ฐ€ ๋˜์—ˆ๋Š”๋ฐ, ๋ฌธ์ œ๋Š” ํ•ด๋‹น ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๊ฐ€ ์•ˆ๋“œ๋กœ์ด๋“œ์ธ์ง€ iOS์ธ์ง€๋Š” ์—ฌ์ „ํžˆ ๊ตฌ๋ณ„์ด ์•ˆ๋œ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฐ์Šคํฌํ†ฑ ๋ชจ๋“œ๋ฅผ ํ‚ค๋ฉด user agent ๋ฌธ์ž์—ด์—์„œ iPhone, Android์™€ ๊ฐ™์€ ์‹๋ณ„์ž๊ฐ€ ์‚ฌ๋ผ์ง€๋‹ˆ ๋‹น์—ฐํ•œ ๋ฌธ์ œ์˜€๋‹ค. ๋‹ค๋งŒ, PC์™€ ๋ชจ๋ฐ”์ผ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฒ•์€ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋งŽ์ด ๋‚˜์™”์ง€๋งŒ, ๋ฐ์Šคํฌํ†ฑ ๋ชจ๋“œ์—์„œ ๋ชจ๋ฐ”์ผ OS๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ž˜ ๋‚˜์™€์žˆ์ง€ ์•Š๋‹ค. ์ƒ๊ฐํ•ด๋ณด๋ฉด ๊ตณ์ด ๋ชจ๋ฐ”์ผ๋กœ ๋ฐ์Šคํฌํ†ฑ ๋ชจ๋“œ์ผœ์„œ ๋ธŒ๋ผ์šฐ์ง• ํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋ช‡์ด๋‚˜ ๋ ๊นŒ ์‹ถ๋‹ค.

 

์•„๋ฌดํŠผ ๊ฒฐ๋ก ์€ navigator.platform์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ์œ ์ €์˜ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์–ด๋А ํ”Œ๋žซํผ์—์„œ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด์ฃผ๋Š” ์†์„ฑ์ด๋‹ค. ๋ชจ๋ฐ”์ผ OS ๋ณ„๋กœ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” navigator.platform ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๋ชจ๋ฐ”์ผ OS navigator.platform ๊ฐ’
Android Android
Linux armv7l
iOS iPhone
iPod
iPad

 

์ถ”๊ฐ€๋กœ Android๋Š” null ๊ฐ’์„ ๋Œ๋ ค์ฃผ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ณ , iOS๋Š” opera ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Pike ๋ญ์‹œ๊ธฐ ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฑฐ ๊ฐ™์€๋ฐ ์ง์ ‘ํ•ด๋ณด์งˆ ์•Š์•„์„œ ๋ชจ๋ฅด๊ฒ ๋‹ค.

 

์•„๋ฌดํŠผ ํ•ด๋‹น ์†์„ฑ์„ ์ด์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋กœ ๋ฐ์Šคํฌํ†ฑ ๋ชจ๋“œ๋ฅผ ํ‚ค๋“  ์•ˆํ‚ค๋“  ์•ˆ๋“œ๋กœ์ด๋“œ์™€ iOS๋ฅผ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค.

let isIOS = /(iPad|iPhone|iPod)/i.test(navigator.platform) || /(iPad|iPhone|iPod|iOS)/i.test(navigator.userAgent);

if(isIOS) {
	// iOS ํŒŒํŠธ
} else {
	// ์•ˆ๋“œ๋กœ์ด๋“œ ํŒŒํŠธ
}

 

 

๋ฟŒ๋“ฏํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  platform ์†์„ฑ์— ๋Œ€ํ•ด ๋” ์ฐพ์•„๋ณด๋‹ˆ ํ•ด๋‹น ์†์„ฑ์€ ์ด๋ฏธ deprecated ๋๋‹ค๊ณ  ํ•œ๋‹ค... ์–ด๋ผ..?

'JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JavaScript] ๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ € ๊ฐ์ง€ํ•˜๊ธฐ  (0) 2024.01.30