2013-11-20 4 views
0

Может ли кто-нибудь плз предоставить мне User-Agent-String (navigator.userAgent) устройства ZTE Open? Мне нужно, чтобы отключить функции, зависящие от памяти, в моем приложении на устройствах с 256 МБ ОЗУ. На данный момент невозможно получить информацию о доступной ОЗУ, и я не могу использовать эти функции с меньшим потреблением памяти. (На 512 Мб оперативной памяти, они будут работать)ZTE Open userAgent String

К настоящему времени у меня есть те, User-Agent-Strings:

ALCATEL One Touch Огонь

Mozilla/5.0 (Mobile; ALCATELOneTouch4012X; rv:18.1) Gecko/18.1 Firefox/18.1

GeeksPhone Keon

Mozilla/5.0 (Mobile; rv:18.1) Gecko/18.1 Firefox/18.1

приветствия, Андре

ответ

2

Короткий ответ:

Mozilla/5.0 (Mobile; ZTEOPEN; rv:18.1) Gecko/18.1 Firefox/18.1 

Source.

Кроме того, если вы хотите знать строку LG Fireweb UA, это:

Mozilla/5.0 (Mobile; LG-D300; rv:18.1) Gecko/18.1 Firefox/18.1 

Длинный ответ

Строка Keon UA ​​фактически рекомендуется UA строка в Mozilla для всех Firefox OS смартфоны. См. Раздел gecko user agent string reference, что означает, что вы можете использовать упрощенную версию своего веб-сайта для устройств с большим количеством оперативной памяти в будущем, устройства, которые будут использовать рекомендуемую строку, а не Geeksphone Keon, например, Nexus 4 с операционной системой Firefox.

И это проблема использования нюхающего агента пользователя. Эту практику следует избегать, когда это возможно, из-за ее хрупкости, как вы уже знаете ..., полагаясь на обнюхивание UA, а не на обнаружение признаков, не является хорошей практикой.

Есть несколько способов проверить производительность вашей страницы, не пытаясь угадать, какое устройство/платформа/версия использует ваш посетитель, RequestAnimationFrame может быть альтернативным способом исследования реальной отзывчивости вашего приложения, например, Знаю, хватит ли этого для твоего дела.

+0

Привет Фабрицио и спасибо вам длинный ответ! :) Я знаю, что пользовательский агент нюхает не очень хорошая практика. Я создаю приложение для графического редактора для FFOS. Он использует некоторые тяжелые webgl-шейдеры, на устройствах с низкой памятью (256 МБ) они не смогут воспроизвести окончательное изображение с полным разрешением (в одном фрагменте). Я знаю, что я мог бы реализовать некоторый шаблон/каскадный рендеринг, которые заполняют эту проблему. Но сейчас я просто заберу его в магазине приложений. Поэтому на устройствах с низкой памятью я хочу ограничить разрешение экспорта до 1600 пикселей. –

+0

@ AndréFiedler. Какая информация вам понадобится с устройства, чтобы узнать, может ли оно поддерживать ваше приложение за пределами пользовательского агента, обнюхивающего угадывание. – karlcow

+0

Объем бесплатной ОЗУ –

2

Я получил

Mozilla/5.0 (Mobile; rv:18.0) Gecko/18.0 Firefox/18.0 

с моей ZTE Open работает 1.0.1.0.

0

У меня есть hint, что я могу прочитать /proc/meminfo с FileReader API, чтобы получить подробную информацию о памяти на всех устройствах. Необходимо проверить это позже. :)

Edit:

Не могу заставить его работать.Я попытался это недействителен один:

var file = new File('/proc/meminfo'); 
var reader = new FileReader(); 
reader.onload = function(evt) { 
    alert(evt.target.result); 
}; 
reader.readAsText(file); 

Затем я попытался это одно:

var req = new XMLHttpRequest(); 
req.open('GET', '/proc/meminfo', true); 
req.onreadystatechange = function (evt) { 
    if (req.readyState == 4) { 
     alert(req.responseText); 
    } 
}; 
req.send(null); 

И я попробовал с "systemXHR": {} разрешения:

var req = new XMLHttpRequest({ 
    mozSystem: true 
}); 
req.open('GET', '/proc/meminfo', true); 
req.onreadystatechange = function (evt) { 
    if (req.readyState == 4) { 
     alert(req.responseText); 
    } 
}; 
req.send(null); 

ничего не сделал работу.

1

Я поддерживаю список устройств Firefox OS для WhatBrowser - библиотеки для обнюхивания пользовательского агента. В настоящее время он содержит следующие идентификаторы устройств для Firefox OS:

DeviceModels::$FIREFOXOS_MODELS = array(
    'ALCATEL ONE TOUCH 4012A'     => array('Alcatel', 'One Touch Fire'), 
    'ALCATELOneTouch4012A'      => array('Alcatel', 'One Touch Fire'), 
    'ALCATELOneTouch4012X'      => array('Alcatel', 'One Touch Fire'), 
    'ALCATELOneTouch4019X'      => array('Alcatel', 'One Touch Fire C'), 
    'LG-D300'         => array('LG', 'Fireweb'), 
    'ZTEOPEN'         => array('ZTE', 'Open'), 
    'OpenC'          => array('ZTE', 'Open C'), 
); 

последнюю актуальную версию можно найти здесь: https://github.com/NielsLeenheer/WhichBrowser/blob/master/data/models-firefoxos.php