진서기님 모바일 아이패드 자동이동 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

진서기님 모바일 아이패드 자동이동 정보

진서기님 모바일 아이패드 자동이동

본문

PC버전 홈페이지가 플래시로 제작되어있는 바람에..
(이 홈페이지 자체가 글보다는 이미지, 효과 등등이 중요한 듯해서 편하게 플래시로 제작했습니다)
아이패드, 스마트폰을 위한 모바일 홈페이지를 따로 제작했습니다

일단 진서기님 모바일 홈페이지 디자인만 수정해서 사용중인데요

방금 업로드해서 페북에 올렸더니
아는분께서 스마트폰은 잘되나 아이패드로 접속하면 PC버젼으로 접속된다고 연락이왔네요

function chkMobile(){
    $mobile_browser = '0';
    if (preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|android)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
        $mobile_browser++;
    }
    if ((strpos(strtolower($_SERVER['HTTP_ACCEPT']), 'application/vnd.wap.xhtml+xml') > 0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) {
        $mobile_browser++;
    }
    $mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'], 0, 4));
    $mobile_agents = array(
        'w3c ', 'acs-', 'alav', 'alca', 'amoi', 'audi', 'avan', 'benq', 'bird', 'blac',
        'blaz', 'brew', 'cell', 'cldc', 'cmd-', 'dang', 'doco', 'eric', 'hipt', 'inno',
        'ipaq', 'java', 'jigs', 'kddi', 'keji', 'leno', 'lg-c', 'lg-d', 'lg-g', 'lge-',
        'maui', 'maxo', 'midp', 'mits', 'mmef', 'mobi', 'mot-', 'moto', 'mwbp', 'nec-',
        'newt', 'noki', 'oper', 'palm', 'pana', 'pant', 'phil', 'play', 'port', 'prox',
        'qwap', 'sage', 'sams', 'sany', 'sch-', 'sec-', 'send', 'seri', 'sgh-', 'shar',
        'sie-', 'siem', 'smal', 'smar', 'sony', 'sph-', 'symb', 't-mo', 'teli', 'tim-',
        'tosh', 'tsm-', 'upg1', 'upsi', 'vk-v', 'voda', 'wap-', 'wapa', 'wapi', 'wapp',
        'wapr', 'webc', 'winw', 'winw', 'xda', 'xda-');

    if (in_array($mobile_ua, $mobile_agents)) {
        $mobile_browser++;
    }
    if (strpos(strtolower($_SERVER['ALL_HTTP']), 'OperaMini') > 0) {
        $mobile_browser++;
    }
    if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows') > 0) {
        $mobile_browser = 0;
    }


    if ($mobile_browser > 0 && $_GET['from'] != 'mobile') {
        return true;
        //모바일 기기일 경우 모바일 페이지로
        /*
        if (!strstr($_SERVER['HTTP_REFERER'], "")) {
            header("location:");
        }
        *
        */
    }else{
        return false;
    }
}

여기서 어느부분에 무엇을 추가해야 아이패드도 모바일 페이지로 이동되나요??

여기저기 뒤져보고 혹시나해서 임시로
$mobile_agent = '/(ipod|iphone|android|blackberry|symbianos|sch-m\d+|opera mini|windows ce|nokia|sonyericsson|webos|palmos)/';
if (preg_match($mobile_agent, strtolower($_SERVER['HTTP_USER_AGENT']))) {
        $mobile_browser++;
    }
요렇게 추가해서 넣어봤는데 이건 아닌가봐요..;;; 역시 초보자의 한계..

댓글 전체

아이패드 user_agent가
Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10

웹앱인경우,
Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405

이니까, 웹앱이 아니라면, 진서기님의 위처럼 하셔도 되어야 하는데..

혹시 모르니, ipad를 패턴에 넣으시고 해보세요. 아 그리고..  preg_match 대소문자 무시옵션 ( /패턴/i ) 도 넣어보시고요..  아마 안되는 부분은 대소문자 무시가 안되어서 일 확률이..

$mobile_agent = '/(ipod|iphone|ipad|android|blackberry|symbianos|sch-m\d+|opera mini|windows ce|nokia|sonyericsson|webos|palmos)/i';
if (preg_match($mobile_agent, strtolower($_SERVER['HTTP_USER_AGENT']))) {
        $mobile_browser++;
    }
아 애플사이트를 보니까, (웹앱에 상관없이) iphone 부분은 아예 빠졌네요..
( http://developer.apple.com/library/IOs/#documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html )

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10

그럼, ipad가 패턴에서 빠진것이 문제였나봅니다.
진서기님은, 아마도 ipad 정도면 (특히 가로보기) 데스크탑 버전을 그대로 보여주는 것이 나을거라고 생각하셨을수도 있겠네요. ^^
전체 12 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT