0

現時点では、すべてのハンドヘルド デバイスを検出できますが、タブレットとモバイルの検出を分離することはできません。多くのソースと Q&A を検索しましたが、解決策が見つかりません。

メソッドがjQuery 1.9.1$.browserから削除されたため。ネイティブ js で行う必要があります。

ここでは jsFiddle をテストしています。

JavaScript:

/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? isTabletMobile = true : isTabletMobile = false;
//this works perfect

//problem starts when i try to detect difference between mobile and tablet

/iPad/i.test(navigator.userAgent) ? isTablet = true : isTablet = false;
//can't detect other tablet devices

/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? isMobile = true : isMobile = false;
//can't exclude tablet devices from here (like Android tablet devices)

if ( isTabletMobile  ) {
    alert('You are on Mobile or Tablet');
}else{
    alert('You are on Destop device');
}

if ( isTablet ) {
    alert('You are on Tablet');
}
if ( isMobile ) {
    alert('You are on Mobile');
}

ソース

4

1 に答える 1

1

画面サイズを確認する必要があります。

タブレットの最小サイズについていくつか調査してみてください。

次に、チェックしていたデバイスのサイズがタブレットの最小サイズ以上である場合、それはデバイスがタブレットであることを意味します。

var isDevice = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? true : false;

var tabletMinWidth,
    tabletMinHeight;

if(isDevice){
   if(tabletMinWidth <= deviceWidth && tabletMinHeight <= deviceHeigth){
      isTablet = true
   }
}
于 2014-01-12T00:25:43.343 に答える