私は、Android、iOS、Blackberryの3つの異なるプラットフォーム用のphonegapでアプリケーションを構築しています。その際、デバイスの種類を検出して、さまざまなプラットフォームやAndroid Phone、Androidタブレット、iPhone、iPad、Blackberryなどのさまざまなデバイスでアプリの高さと幅を管理できるようにする必要があります...
9 に答える
Phonegapの新機能であり、最も単純なのは、device.platformを使用できることです。
// Depending on the device, a few examples are:
// - "Android"
// - "BlackBerry"
// - "iOS"
// - "webOS"
// - "WinCE"
// - "Tizen"
// - "browser"
var devicePlatform = device.platform;
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);
cordova.platformId
// "android"
device.nameプロパティを使用して、デバイスに関する詳細情報を取得できます。
function onDeviceReady() {
var name=device.name ;
}
または、プラットフォームのみを取得するには、device.platformプロパティを使用できます。
function onDeviceReady() {
var name=device.name ;
var plat=device.platform;
}
このコードを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でこれを確認することをお勧めします。
次のリンクをご覧ください:http: //docs.phonegap.com/en/1.0.0/phonegap_device_device.md.html
phonegapからデバイス情報を取得する方法はいくつかあります。
もう1つのオプションは、ブラウザの種類を確認することです。(IE = WP7、Safari = iOS、...)
あなたがAndroid携帯電話またはタブレットを使用しているかどうかを検出できるかどうかはわかりません...とにかく、HTMLアプリは任意の画面解像度を処理できるはずです。あなたは電話でも異なる解像度を持つことができます!
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についてはこちらをご覧ください
画面を正しくフォーマットしようとしているためにこの情報が必要な場合は、CSS @mediaクエリを使用して適切な画面レイアウトを決定し、それに応じてCSSを適用する必要があります。
Googleを使用して、「CSSを使用したレスポンシブデザイン」に関する情報を検索します
私は確かにページをレイアウトするときにデバイスタイプを使用しません、レイアウトは画面サイズのみに基づいている必要があります
javascriptプロパティを使用できます。
width = window.innerWidth
height = window.innerHeight
またはCSSを使用します。
.element{
height: 50vh; //(height = 50 percent of screen)
}
vmin、vmax、vh、vwを参照してください