티스토리 뷰
[Nextjs] userAgent 에서, 브라우저 환경 구분하는 방법
이번 포스팅에서는 userAgent에서 브라우저 환경을 구분하는 방법에 대해 알아보겠습니다.
안드로이드, 아이폰, 오페라 , 윈도우 등 다양한 브라우저 환경이 존재하는데 브라우저에 환경에 따라 다른 코드를 적용해 주어야 할 때가 있습니다.
브라우저 환경은, request-header에 담겨있는 userAgent를 통해 확인할 수 있고,
이를 정규표현식을 통해 원하는 환경별로 구분해서 사용할 수 있습니다. 아래 예시코드를 통해 확인해 보겠습니다 !
const userAgent = typeof navigator === 'undefined' ? 'SSR' : navigator.userAgent;
const isAndroid = Boolean(userAgent.match(/Android/i));
const isIos = Boolean(userAgent.match(/iPhone|iPad|iPod/i));
const isOpera = Boolean(userAgent.match(/Opera Mini/i));
const isWindows = Boolean(userAgent.match(/IEMobile/i));
const isSSR = Boolean(userAgent.match(/SSR/i));
const isMobile = Boolean(isAndroid() || isIos() || isOpera() || isWindows());
const isDesktop = Boolean(!isMobile() && !isSSR());
'개발일기 > REACT' 카테고리의 다른 글
[Jest] mocking을 위한 jest.spyOn, mockImplementation 에 대해 알아보기 (0) | 2022.09.10 |
---|---|
[Nextjs] nextjs middleware활용해서 redirect구현하기 (0) | 2022.09.08 |
[React] DarkMode 새로고침시 화면 깜빡임문제 해결 - useLayoutEffect (0) | 2022.03.31 |
[React] Next.js build 할 때, dynamic route 404 error 해결하는 방법 (0) | 2022.03.20 |
[React] fakerjs, shortid를 이용해서 그럴싸한 DummyData 만들기. (0) | 2022.03.11 |
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 실기CBT
- 전자기학
- gathertown
- dummydata
- zep
- TypeScript
- 게더타운맵
- 산업안전기사 실기
- 전기기사
- 전기기사필기
- nextjs
- TS
- 전기기사실기CBT
- 전기기사실기단답
- React
- KEC반영
- shortid
- 개더타운
- 전력공학
- cbt
- 전기기사 필기
- 산안기 합격률
- 모두CBT
- 전기공사기사
- 전기기기
- fakerjs
- JavaScript
- 게더타운
- 산업안전기사
- 전기산업기사
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함