51

私は、Android、iOS、Blackberryの3つの異なるプラットフォーム用のphonegapでアプリケーションを構築しています。その際、デバイスの種類を検出して、さまざまなプラットフォームやAndroid Phone、Androidタブレット、iPhone、iPad、Blackberryなどのさまざまなデバイスでアプリの高さと幅を管理できるようにする必要があります...

4

9 に答える 9

95

Phonegapの新機能であり、最も単純なのは、device.platformを使用できることです。

// Depending on the device, a few examples are:
//   - "Android"
//   - "BlackBerry"
//   - "iOS"
//   - "webOS"
//   - "WinCE"
//   - "Tizen"
//   - "browser"
var devicePlatform = device.platform;
于 2013-01-18T10:21:30.577 に答える
55

onDeviceReadyの前にデバイスタイプを取得する場合は、次のように取得できます。

var deviceType = (navigator.userAgent.match(/iPad/i))  == "iPad" ? "iPad" : (navigator.userAgent.match(/iPhone/i))  == "iPhone" ? "iPhone" : (navigator.userAgent.match(/Android/i)) == "Android" ? "Android" : (navigator.userAgent.match(/BlackBerry/i)) == "BlackBerry" ? "BlackBerry" : "null";

alert(deviceType);
于 2012-06-18T06:59:52.197 に答える
37
cordova.platformId 
// "android"
于 2015-06-12T10:16:07.537 に答える
5

device.nameプロパティを使用して、デバイスに関する詳細情報を取得できます。

    function onDeviceReady() {
    var name=device.name ;
       }

または、プラットフォームのみを取得するには、device.platformプロパティを使用できます。

    function onDeviceReady() {
    var name=device.name ;
    var plat=device.platform;
       }
于 2012-06-18T06:38:48.847 に答える
3

このコードをurhtmlファイルとして使用します

デバイスプロパティの例

<script type="text/javascript" charset="utf-8" src="phonegap-1.0.0.js"></script>
<script type="text/javascript" charset="utf-8">

// Wait for PhoneGap to load
//
document.addEventListener("deviceready", onDeviceReady, false);

// PhoneGap is ready
//
function onDeviceReady() {
    var element = document.getElementById('deviceProperties');

    element.innerHTML = 'Device Name: '     + device.name     + '<br />' + 
                        'Device PhoneGap: ' + device.phonegap + '<br />' + 
                        'Device Platform: ' + device.platform + '<br />' + 
                        'Device UUID: '     + device.uuid     + '<br />' + 
                        'Device Version: '  + device.version  + '<br />';
}

</script>

デバイスプロパティを読み込んでいます...

デバイスBestOfLuckAamirkhanIでこれを確認することをお勧めします。

于 2012-06-18T06:48:53.953 に答える
1

次のリンクをご覧ください:http: //docs.phonegap.com/en/1.0.0/phonegap_device_device.md.html

phonegapからデバイス情報を取得する方法はいくつかあります。

もう1つのオプションは、ブラウザの種類を確認することです。(IE = WP7、Safari = iOS、...)

あなたがAndroid携帯電話またはタブレットを使用しているかどうかを検出できるかどうかはわかりません...とにかく、HTMLアプリは任意の画面解像度を処理できるはずです。あなたは電話でも異なる解像度を持つことができます!

于 2012-06-18T06:39:52.937 に答える
0
function onDeviceReady()
{
// ***IMPORTANT: access device object only AFTER "deviceready" event    
document.getElementById("name").innerHTML = device.name;
document.getElementById("pgversion").innerHTML = device.cordova ? device.cordov:device.phonegap;
document.getElementById("platform").innerHTML = device.platform;
document.getElementById("uuid").innerHTML = device.uuid;
document.getElementById("version").innerHTML = device.version;

}

device.platformについてはこちらをご覧ください

于 2012-06-18T06:44:28.783 に答える
0

画面を正しくフォーマットしようとしているためにこの情報が必要な場合は、CSS @mediaクエリを使用して適切な画面レイアウトを決定し、それに応じてCSSを適用する必要があります。

Googleを使用して、「CSSを使用したレスポンシブデザイン」に関する情報を検索します

于 2013-02-26T20:46:07.653 に答える
-2

私は確かにページをレイアウトするときにデバイスタイプを使用しません、レイアウトは画面サイズのみに基づいている必要があります

javascriptプロパティを使用できます。

width = window.innerWidth
height = window.innerHeight

またはCSSを使用します。

.element{   
    height: 50vh;  //(height = 50 percent of screen)
}

vmin、vmax、vh、vwを参照してください

于 2016-07-15T12:33:11.203 に答える