웹마스터 팁

XE에는 기본으로 불러오는 클래스 들이 많습니다. 그 중에 모바일 클래스를 조금 써봅니다.

파일 위치는 ./classes/mobile/Mobile.class.php 입니다.

이 파일에는 사용자가 접속한 장치가 어떤 장치인지 HTTP 헤더의 User-Agent 값으로 구분하는 내용이 들어있습니다. 한번 판단을 하고 나면, 효율성을 위해 쿠키에 정보를 저장해두고 이용하게 됩니다.

Mobile::isFromMobilePhone() 라는 메소드가 정의되어 있습니다. 외부에서 사용하기 가장 좋은 메소드입니다. 모든 정보를 이용해서 장치가 모바일 장비인지 확인하고, 어떤 양식의 페이지가 보여야 할 것인지 정합니다.
쿠키가 저장되어 있다면, 쿠키를 우선으로 확인하고, 쿠키가 없는 경우에는 HTTP 헤더에서 문자열을 확인해 확인합니다.

~~ByAgent 라고 정의된 메소드들은 모두 HTTP 헤더를 직접 확인하는 것들입니다.

isMobilePadCheckByAgent() 라는 것이 최근에 추가되었는데, 아이패드, 안드로이드 타블렛 등의 기기를 구분하기 위한 메소드입니다.

모바일 기기이면서도 화면이 상대적으로 넓기 때문에, 취향에 따라 다른 화면을 선택할 수 있게 도울 필요가 있다 판단했습니다. 그래서 이들 기기로 접속하면, 모바일 화면으로 이동할 수 있는 링크도 뜨지만, 기본 화면은 PC 용 화면이 뜨게 됩니다.

모듈, 애드온, 또는 스킨 개발자도 이를 이용할 수 있습니다. 클래스 모든 메소드는, 구분하려고 하는 대상이 맞으면 TRUE, 아니면 FALSE 를 반환합니다. (논리값)

setMobile 이라는 함수로, 장치를 강제로 모바일이나 PC로 정의할 수 있습니다.

유용한 클래스라고 생각합니다 :)


템플릿 코드에 적용하시려는 분이 많은 것 같아서 추가합니다.

<span cond="Mobile::isMobileCheckByAgent()">모바일모드입니다.</span>
<span cond="!Mobile::isMobileCheckByAgent()">모바일모드가 아닙니다.</span>
이런 식으로 사용하시면 됩니다.

제목 글쓴이 날짜
7일지난 게시물에 덧글달면 포인트 지급 안하기 [2] 비비디 바비디 부 2010.08.12
무분별한 스팸글 등록으로부터 임시해결 팁 [15] file 라르게덴 2010.08.12
게시판 본문페이지 닉네임 옆에 회원그룹명 사용 [4] file 늘푸른이 2010.08.13
관리자에서 회원리스트(남성,여성리스트 분류해서 보기) [5] file 늘푸른이 2010.08.13
Belarc Advisor - Free Personal PC Audit 레미짱 2010.08.14
확장 컴포넌트를 에디터에 따로 뽑고 우측 정렬하기 ^^" [4] ZHANG™ 2010.08.15
FCKeditor에서도 확장 에디터를 외부로 빼내는 팁. file ZHANG™ 2010.08.15
레이아웃 자작시 생기는 회원 모듈과의 충돌 [1] file ZHANG™ 2010.08.15
인터넷의 업로드/다운로드 스피드는 얼마인가? [4] 레미짱 2010.08.19
the result is not valid XML 에러 중... file ZHANG™ 2010.08.19
info.xml 에 html 쓸때 [1] file hhgyu 2010.08.20
공지사항 정렬 문제 해결법 [4] 희망일기 2010.08.20
안전하게 XE 업데이트 하기 [1] mindpainter 2010.08.24
Fatal error : Call to a member function getVariables() on a non-object 요 에러중.. [2] Brake 2010.08.24
레이아웃 관리자 페이지 html 에디터창 늘리기+줄이기 [1] file 레드폭스 2010.08.25
플래시, 선택박스(??)가 로그인 박스 등을 튀어 나올 때 [4] file hhgyu 2010.08.26
초보자도 따라하는 XE로 홈페이지 만들기 강좌 포스트입니다. [2] 놀라운넘 2010.08.27
페이지에서 첨부파일 100% 에서 증발이 되면...? [6] 우리아기 2010.09.04
저니님의 업 다운 퀵메뉴 적용하기 [4] file nabul2 2010.09.05
쉬운 설치 오류 해결..까지는 아니구요.. ㅎㅎ 차명기993 2010.09.07