Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 개발
- 백준
- 코딩테스트
- AWS
- 광고 id
- nginx
- 코테
- css
- spring boots
- react-native
- JavaScript
- Jenkins
- kotlin
- TypeScript
- chrome
- docker
- React
- EC2
- 파이썬
- NanoHttpd
- it
- 오블완
- Android
- python
- Express
- 오퍼월
- nuxt
- Next
- toml
- 티스토리챌린지
Archives
- Today
- Total
내맘대로 개발일지
[NextJS] 모바일인지 PC 인지 구별하는 방법 본문
📱테스트 환경
"react": "18.2.0"
"react-dom": "18.2.0"
"typescript": "^5.1.6"
😢 내가 겪은 문제
Moblie Web 과 PC Web 에서 작동하는 방식이 생각보다 많이 다르다.
예로 공유하기 버튼을 눌렀을 때도 모바일의 경우 시스템 공유 모달을 띄우면 되지만
PC 에서는 그럴 수 없기 때문에 다르게 작동을 해야한다.
[NextJS] NextJS 모바일 시스템공유 하는방법
📱테스트 환경 "react": "18.2.0" "react-dom": "18.2.0" "typescript": "^5.1.6" 😢 내가 겪은 문제 이 코드는 정말 많이 사용하는 것 같다 .. 아무래도 모바일 대응을 하다보면 공유하기 버튼을 클릭 했을 때 시
8735.tistory.com
그래서 onClick Event 에 함수를 적용하기 전에 Moblie 인지 아닌지 구분 해야하는 경우가 생각보다 많은데
그때를 위해서 userAgent 에서 정보를 가져와서 판별 할 수 있도록 해야한다.
코드도 매우 쉽고 ( 7줄 밖에 안된다. ) 함수 처리해놨으니까 필요할때마다 와서 복사해서 사용할 수 있도록 해야겠다.
getIsMobile.tsx
export const getIsMobile = () => {
const userAgent = window.navigator.userAgent;
const isMobile =
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
userAgent
);
return isMobile;
};
딱히 설명할 것도 없이 코드도 직관적인 것 같고 짧아서 이해하기도 쉬울 것이다.
중요한거는 window.navigator.userAgent 인데 이게 Console 에서 출력해보면
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36
뭐 대충 이런 내용이다. 여기서 보이는 것처럼 Mac OS 이런걸 가지고 현재 내가 PC 에서 보고있는지 Moblie 에서 보고있는지
구별할 수 있는 것이다.
'Javascript > Next' 카테고리의 다른 글
| [NextJS] blob to base64 바꾸기 (0) | 2023.09.01 |
|---|---|
| [NextJS] Mobile Web 에서 이메일 시스템 모달창 띄우기 (0) | 2023.08.30 |
| [NextJS] canvas 이용해서 썸네일 만들기 (5) | 2023.08.29 |
| [NextJS] .map() 함수 사용 & Components Map 하는 방법 (4) | 2023.08.29 |
| [NextJS] onPress vs onClick 차이점 (0) | 2023.08.28 |