0

リンクをクリックして html ファイルを表示するときに、iPhone、Android、またはその他のハンドヘルドで、コンピューターのように Fancybox を使用して表示しないようにする必要があります。

@media で方法を試してみましたが、うまくいきませんでした。

どのデバイスであるかに応じて、JavaScript の特定のビットを無効にするコードはありますか?

ありがとう!

4

6 に答える 6

4

アンドレのソリューションは特定のデバイスのサブセットで機能しますが、画面サイズに基づいて実行する方が良い方法かもしれません.facnyboxを使用したくない理由はおそらくそれです(画面が小さすぎるため).

これはどう:

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

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

ファンシーボックスの見栄えがよくなるしきい値が何であれ、幅と高さを交換できます。

于 2012-01-26T11:10:04.980 に答える
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'
  });

}

于 2012-05-10T10:39:41.287 に答える
0

ボックスの内側を考えると、しゃれは意図されておらず、js以外のソリューションです。

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

@media (min-width: 1200px) {
    .fancybox-overlay {
        display: block !important;
    }
};
于 2013-03-21T20:23:11.207 に答える
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%正確ではありません

于 2012-01-26T10:50:04.177 に答える
0

画面サイズでファンシーボックスを無効にする

@media (min-width: 1000px) {
.fancybox-is-open {
    display: none !important;
}};
于 2021-06-08T17:13:05.927 に答える