2012-11-03 51 views
0

在OnDevice Ready之後,我需要檢測Google Nexus 7/10或Samsung Galaxy Tab之類的Android平板電腦。使用phonegap或navigator.userAgent檢測Android平板電腦

我使用device.platform,它只是返回Android,不像iOS,它返回iPad。

我需要知道,如果我使用以下檢測Android平板電腦,它是否會始終返回正確的值,如果它是Android平板電腦?

if(/epad/i.test(navigator.userAgent.toLowerCase())) { 
    // this is an Android tablet 
} 

我正在使用PhoneGap 2.1和jqm 1.2。

歡呼和問候, 馬克

我發現了一個方法。你們覺得呢?任何評論表示讚賞:)

if ($.event.special.orientationchange.orientation() === "portrait") { 

    if($(window).width() > 420) { 

     return true; 

    } else { 

     return false; 

    } 

} else { 

    if($(window).width() > 660) { 

     return true; 

    } else { 

     return false; 

    } 

} 
+0

由於所有的用戶代理字符串都不相同,特別是在瀏覽器之間,以及製造商和設備之間,因此確實很難做到這一點。這裏是Nexus 7的:「* Mozilla/5.0(Linux; Android 4.1.1; Nexus 7 Build/JRO03D)AppleWebKit/535.19(KHTML,如Gecko)Chrome/18.0.1025.166 Safari/535.19 *」。 – Eric

+0

你爲什麼想這樣做?您應該檢測屏幕大小和功能。 –

+0

如果使用屏幕尺寸,如何計算出平板電腦的尺寸是多少?如果寬度> 600且高度> 800?任何人都有這些信息? –

回答

0

你爲什麼不使用PhoneGap的Device插件?它有一個platformmodel財產,可以幫助你。使用屏幕寬度和高度來推斷設備身份是非常糟糕的做法。