PhoneGap – определение типа устройства в телефонной зазоре

Я создаю приложение в телефоне для трех разных платформ: Android, iOS и Blackberry. При этом мне нужно определить тип устройства, чтобы я мог управлять высотой и шириной моего приложения на разных платформах и для разных устройств, таких как Android Phone, Android Tablet, iPhone, iPad и Blackberry …

Solutions Collecting From Web of "PhoneGap – определение типа устройства в телефонной зазоре"

Если вы хотите получить тип устройства до 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); 

Новое в Phonegap и самое простое – это то, что вы можете использовать device.platform:

 // Depending on the device, a few examples are: // - "Android" // - "BlackBerry" // - "iOS" // - "webOS" // - "WinCE" // - "Tizen" var devicePlatform = device.platform; 
 cordova.platformId // "android" 

Вы можете использовать свойство device.name, чтобы получить подробную информацию об устройстве.

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

Или для получения только платформы вы можете использовать свойство device.platform.

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

Используйте этот код как ur html-файл

Пример свойств устройства

 <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> 

Загрузка свойств устройства …

Я предлагаю вам проверить это на устройстве Best Of Luck Aamirkhan I.

Вы можете посмотреть следующую ссылку: http://docs.phonegap.com/en/1.0.0/phonegap_device_device.md.html

Существует несколько способов получить информацию об устройстве из телефонной заставки.

Другой вариант – посмотреть на тип браузера. (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