リンクをクリックして html ファイルを表示するときに、iPhone、Android、またはその他のハンドヘルドで、コンピューターのように Fancybox を使用して表示しないようにする必要があります。
@media で方法を試してみましたが、うまくいきませんでした。
どのデバイスであるかに応じて、JavaScript の特定のビットを無効にするコードはありますか?
ありがとう!
リンクをクリックして html ファイルを表示するときに、iPhone、Android、またはその他のハンドヘルドで、コンピューターのように Fancybox を使用して表示しないようにする必要があります。
@media で方法を試してみましたが、うまくいきませんでした。
どのデバイスであるかに応じて、JavaScript の特定のビットを無効にするコードはありますか?
ありがとう!
アンドレのソリューションは特定のデバイスのサブセットで機能しますが、画面サイズに基づいて実行する方が良い方法かもしれません.facnyboxを使用したくない理由はおそらくそれです(画面が小さすぎるため).
これはどう:
if (window.innerWidth < 500 && window.innerHeight < 500) {
//small screen device - don't use fancy box
}
ファンシーボックスの見栄えがよくなるしきい値が何であれ、幅と高さを交換できます。
私はこのアプローチを使用していますが、うまく機能しています...
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'
});
}
ボックスの内側を考えると、しゃれは意図されておらず、js以外のソリューションです。
.fancybox-overlay {
display: none !important;
}
@media (min-width: 1200px) {
.fancybox-overlay {
display: block !important;
}
};
次のようなものを使用できます
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%正確ではありません
画面サイズでファンシーボックスを無効にする
@media (min-width: 1000px) {
.fancybox-is-open {
display: none !important;
}};