์ ๋ฒ์ 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 |
---|