반응형
안드로이드(Android)와 IOS는 태어난 환경이 서로 다르기 때문에 같은 코드와 CSS 속성이 브라우저 엔진에서 다르게 랜더링 되어 화면에 우리가 예측한 값과 다르게 도출되는 경우가 발생합니다.
이 경우 사용자의 유저가 접속한 디바이스가 무엇인지 구분하여 안드로이드 유저에게는 안드로이드 화면이 노출되고 아이폰 유저에게는 아이폰 화면이 노출된다면 우리가 원하는 최적의 결과를 얻을 수 있습니다. 이 방법을 적용하기 위해선 사용자가 접속한 OS가 무엇인지 확인을 해야 합니다.
아래 스크립트를 적용하면 사용자가 접속한 OS에 따라 안드로이드, IOS, 그 외 세가지로 구분하여 body 태그에 해당 Class를 붙여주는 코드입니다.
감사합니다.
function deviceModel(){
let currentOS;
const mobile = (/iphone|ipad|ipod|android/i.test( navigator.userAgent.toLowerCase() ));
if (mobile)
{
const userAgent = navigator.userAgent.toLowerCase();
if (userAgent.search("android") > -1) {
currentOS = "android";
// 안드로이드 os 버젼 체크
const deviceAgent = 'Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; device Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Safari/533.1';
androidversion = parseFloat(deviceAgent.match(/Android\s+([\d\.]+)/)[1]);
document.querySelector('body').getAttribute('data-device', androidversion);
} else if ((userAgent.search("iphone") > -1) || (userAgent.search("ipod") > -1) || (userAgent.search("ipad") > -1)) {
currentOS = "ios";
} else { currentOS = "else"; }
}
else { currentOS = "nomobile"; }
document.querySelector('body').classList.add(currentOS);
}
deviceModel();
반응형
'IT > JavsScript' 카테고리의 다른 글
fetch() 함수 사용하여 API 호출(ajax, Axios, fetch 비교) (0) | 2022.03.18 |
---|---|
Pure Javascript에서 siblings() 사용하기 (0) | 2022.02.18 |
jQuery를 바닐라 JS로(Vanilla JS) 변경 하기(feat.Pure Javascript) (8) | 2021.12.23 |
자바스크립트 조건절(분기) 함수 공통화 하기 (0) | 2021.12.22 |
JQuery 스크립트끼리 통신하기 (function 호출하기) (0) | 2021.12.22 |
광고차단(애드블록)프로그램이나 브라우저를 사용중이시면 프로그램을 비활성화이나 블로그 주소를 예외 처리 해주시면 광고가 노출됩니다. 귀찮고 번거롭겠지만 광고 클릭은 저에게는 큰 힘이 됩니다. 🙇🏻♂️🙇🏻♀️
제 블로그의 모든 글은 제가 직접 작성 하고 다른 글을 참고할 때는 이전 글보다 읽기 편하게 수정해서 작성하고 있습니다. 커피 한잔 사먹고 더 열심히 좋은글로 보답하겠습니다.
오늘도 제 블로그에 와 주셔서 감사합니다. :)
제 블로그의 모든 글은 제가 직접 작성 하고 다른 글을 참고할 때는 이전 글보다 읽기 편하게 수정해서 작성하고 있습니다. 커피 한잔 사먹고 더 열심히 좋은글로 보답하겠습니다.
오늘도 제 블로그에 와 주셔서 감사합니다. :)