브라우저 detection > 자유게시판

자유게시판

브라우저 detection 정보

브라우저 detection

본문

이거 유머글인데 geek 들이나 웃을수 있는거라서 여기에 올립니다.  개발자분들만 웃기실 것 같아서.....

브라우저가 모바일 브라우저인지 데스트탑 브라우저인지 어떻게 확인할 수 있나? (Stackoverflow 질문)

고수의 답변

이렇게 확인하고...

window.mobilecheck = function() {
var check = false;
(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera);
return check; }

(이렇게 해도 놓칠수 있다는 지적이 나옴.)

그럼 또 윈도우 창 넓이를 확인해서 2차적으로 확인하면 되지.

function detectmob() {
   if(window.innerWidth <= 800 && window.innerHeight <= 600) {
     return true;
   } else {
     return false;
   }
}

참고문서 와 사이트 : 


여기에 대한 천재의 지적 : 다 필요 없고,

if(typeof window.orientation !== 'undefined'){...}
이렇게 한줄 쓰면 되잖아.  
omg!!!!!!!!  ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

추천
2
  • 복사

댓글 8개

front-end 개발을 하다보면 방문자의 브라우저가 모바일인지 데스크탑인지 구분을 해서 거기에 맞는 레이아웃이나 모습, 그리고 특히 브라우저에 맞는 기능을 제공해 줘야 합니다.

예를 들자면 메뉴가 on hover 시 드랍다운 메뉴인 경우, 모바일 브라우져에서는 작동을 하지 않기 때문에 (모바일 브라우저에서는 마우스 오버를 알수 가 없죠), 브라우저에 맞는 기능의 메뉴를 제공해 줘야 하는거죠.

그래서 방문자가 어떤 브라우저로 사이트에 접근했는지를 알아내는 것은 매우 중요한 기능입니다.

그 판별법/판독법에 대해 많은 논의가 오고 가는데,

if(typeof window.orientation !== 'undefined')

이 한줄이 신의 한 수 인거죠!!!!

해석을 하자면

"만약 (if) 브라우저에 orientation 기능이 없으면 (!==) 그럼 너는 데스트 탑이야" 라고 판독하고 있는 것 입니다.

orientation 이란 모바일폰이나 아이패드등을 가로나 세로로 화면을 볼때 그걸 인식하는 기능인데 당연히 데스크탑에는 없는 기능입니다.

orientation 이 있고 없고, 이거 하나로로 브라우저를 판독!!!!!!!! ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

저는 이거 처음에보고 미치도록 웃었었습니다. ㅋㅋㅋㅋ  너무나 기발한 방법이거든요.
 
이런걸 보면, 누구나 열심히 노력해서 고수가 될수는 있지만, 천재성은 타고나는 것 이다 라는 주장이 맞는 것 같습니다. ^^
orientation 기능이 그런 기능이시군요 좋은 정보 감사합니다^^

천재성은 타고나는 것이다 라는 주장에 한마디 더 붙이자면...

개발자용 머리가 따로 있는거 같아요.. 개발자에 뛰어난 머리 회전력을 돌리는 사람(?)이 있는거 같더라구요..
네. 제가 하고 싶었던 말씀을 해주시네요.  천재성이라기 보다 개발자용 뇌를 갖고 있는 사람들이 존재하는 것 같습니다.

또 벤처/엔젤 투자를 잘 받아내는 뇌를 갖고 있는 사람들도... 존재하는듯....

http://www.bangwithfriends.com/

페이스북에서 나랑 스섹에 동의할 만한 친구를 찾는 앱 입니다.  장난삼아 주말에 코어를 완성했답니다.  (이틀만에)

수십억원 투자받음. ㅋㅋㅋㅋㅋ


http://hackya.com/us/snapchat-rejects-3billion-from-facebook/

스냅챗이라는 건데, 3주 걸려서 만들었답니다. (스탠포드대 학생 세명이)  한국의 카카오톡 처럼 채팅을 하게 해주는데, 다른점은 그림이나 비디오만 전송할 수 있습니다.  카카오톡 보다 훨씬 더 간단한 앱이죠.  그리고 전송후 최대 10초 후 삭제됩니다.

이걸 페이스북에서 3 billion (한화로 3.6 조원) 줄테니 팔라고 했는데 거절. ㅋㅋㅋㅋㅋㅋㅋㅋ
© SIRSOFT
현재 페이지 제일 처음으로