2013-05-20 3 views
1

나는 zoombox를라는 (우수) 라이트 같은 플러그인이 jQuery를 사용하고 있습니다 :비 모바일 브라우저에서만 jQuery를 실행하는 방법은 무엇입니까?

그것은 형태 http://vimeo.com/15171582a 링크 소요
 $('a.zoombox').zoombox({...}); 

의 비 메오 아이디 (15171582)를 구문 분석하고로드 라이트 박스를 팝업 이 URL과 iframe :

http://player.vimeo.com/video/15171582?autoplay=1&title=0&byline=0&portrait=0&wmode=transparent

그 때문에, 모바일 브라우저에서 볼 때 jQuery를 수정하는 방법

  1. 라이트 박스가 실행되지 않고
  2. 간단한 링크가 iframe 링크로 변환 되나요?
+0

jQuery에 브라우저의 높이/너비를 지정하고 실행 시키면 너무 작은 화면 크기의 출시. 링크를 조작하는 것과 똑같습니다. –

+0

여기 있습니다 : http://detectmobilebrowsers.com/ – Mathletics

+0

[이 질문에 확인] (http://stackoverflow.com/questions/3514784/what-is-the-best-way-to-detect-a-handheld- device-in-jquery). –

답변

4

휴대 기기를 감지하려면 http://detectmobilebrowsers.com/을 사용할 수 있습니다.

또는 검색 창 너비와 같은 :

function isMobile() { 
    if(window.innerWidth <= 600) { 
    return true; 
    } else { 
    return false; 
    } 
} 

그리고 그것은 반응과 같이합니다

// keep original url 
$('a.zoombox').each(function() { 
    var url = $(this).attr('href'); 
    $(this).data('url',url); 
}); 

// on load 
doMagic(); 

// resizing 
$(window).resize(function() { 
    doMagic(); 
}); 

// lightbox? 
function doMagic() { 
    $('a.zoombox').each(function() { 
    var url = $(this).data('url'); 
    $(this).attr('href',url); 
    }); 
    if (!isMobile) { 
    $('a.zoombox').zoombox({...}); // lightbox here 
    } 
} 

// detect mobile 
function isMobile() { 
    if(window.innerWidth <= 600) { 
    return true; 
    } else { 
    return false; 
    } 
} 

는 테스트하지

편집 : 부하에 doMagic 호출을 추가 ...

+0

isMobile()의 단순화는 다음과 같습니다 :'return window.innerWidth <= 600;' –

관련 문제