navigator.userAgent 가 아이패드를 인식하지못하는 현상을 발견하였다. 아이패드도 데스크톱(웹)으로 인식함
navigator.userAgent.match(/iPhone|iPad|iPod/i) //아이패드와 웹 브라우저에서 null찍힘
나의 경우는 desktop인경우와 그렇지 않은경우만 알면되서 직접 alert로 maxTouchPoints를 찍어봤다. 웹브라우저에서는 0 모바일과 아이패드에서는 5가 찍히는것을 확인하였다.
navigator.maxTouchPoints
const playBtns = document.querySelectorAll('.js-playGame a')
playBtns.forEach(each => {
each.addEventListener('click',()=>{
if(navigator.maxTouchPoints > 1){//mobile, ipad ...
location.href = 'https://...'
}else{//desktop
location.href = 'https://...'
}
})
})
단, 터치가 가능한 노트북에서는 무용지물이라고하니 주의해야한다.
https://developer.mozilla.org/en-US/docs/Web/API/Navigator/maxTouchPoints
반응형
'Frontend > 모던자바스크립트' 카테고리의 다른 글
스크롤내리다 특정 dom부터 사라지게 (0) | 2023.10.27 |
---|---|
[Javascript] if문 대신 !! 또는 Boolean() 사용하기 (0) | 2023.09.24 |
이벤트 객체 모방하기 {target : e} (0) | 2023.08.25 |
자바스크립트 스프레드 연산자 (0) | 2023.07.25 |
[리팩토링] if문 대신 매핑하기 (0) | 2023.07.07 |