禁用手持设备上的fancybox

时间:2012-01-26 10:34:38

标签: javascript android iphone fancybox handheld

我需要确保点击链接查看html文件,在iPhone或Android或任何手持设备上,它不会像使用Fancybox一样查看它,就像在计算机上一样。

我试过@media没有运气。

是否有任何代码可以禁用javascript的某些位,具体取决于它是什么设备?

谢谢!

6 个答案:

答案 0 :(得分:4)

Andre的解决方案适用于特定设备子集,但更好的方法可能是根据屏幕尺寸来实现,因为这可能是因为您不想使用facnybox(因为屏幕太小)。< / p>

这个怎么样:

if (window.innerWidth < 500 && window.innerHeight < 500) {

    //small screen device - don't use fancy box
}

你可以换掉宽度和高度,无论fancybox的阈值是什么样的。

答案 1 :(得分:1)

我正在使用这种方法,它对我来说很好......

if( $(window).width() > 480 && (!navigator.userAgent.match(/Android/i) ||
!navigator.userAgent.match(/webOS/i) ||
!navigator.userAgent.match(/iPhone/i) ||
!navigator.userAgent.match(/iPod/i) ||
navigator.userAgent.match(/BlackBerry/))
){
  $(".royalSlide").click().fancybox({
     'overlayShow'  : false,
     'transitionIn' : 'elastic',
     'transitionOut'    : 'elastic'
  });

}

答案 2 :(得分:1)

对于fancybox 2,这对我有用。

&#13;
&#13;
$(".fancybox-img").click( function( e ) {
    if ( window.innerWidth < 799 ) {
        e.stopPropagation();
        e.preventDefault();
    }
})
$(".fancybox-img").fancybox( {
    margin     : 100,
    autoSize   : true,
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

你可以使用像

这样的东西
if( navigator.userAgent.match(/Android/i) ||
 navigator.userAgent.match(/webOS/i) ||
 navigator.userAgent.match(/iPhone/i) ||
 navigator.userAgent.match(/iPod/i) ||
 navigator.userAgent.match(/BlackBerry/)
 ){
 // your fancybox instantiation here
}

但它永远不会100%准确

答案 4 :(得分:0)

在盒子里思考,没有双关语,非js解决方案:

.fancybox-overlay {
    display: none !important;
}

@media (min-width: 1200px) {
    .fancybox-overlay {
        display: block !important;
    }
};

答案 5 :(得分:0)

禁用屏幕尺寸的fancybox

@media (min-width: 1000px) {
.fancybox-is-open {
    display: none !important;
}};