中兴打开userAgent字符串

时间:2013-11-20 18:23:20

标签: firefox-os

有人可以为我提供ZTE Open设备的User-Agent-String(navigator.userAgent)吗?我需要它在我的应用程序中禁用256 MB RAM的设备上的内存饥饿功能。目前无法获得有关可用RAM的信息,我无法以较少的内存消耗来完成这些功能。 (在512 MB RAM上它们可以工作)

到目前为止,我有那些User-Agent-Strings:

ALCATEL One Touch Fire

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

问候,André

4 个答案:

答案 0 :(得分:2)

我得到了

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

我的中兴开放运行1.0.1.0。

答案 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字符串实际上是所有Firefox OS智能手机的Mozilla推荐的UA字符串。请参阅gecko user agent string reference,这意味着您可以为未来具有大量RAM的设备提供网站的简化版本,使用推荐字符串的设备不是Geeksphone Keon,运行Firefox的Nexus 4例如OS。

这就是使用用户代理嗅探的麻烦。应该尽可能避免这种做法,因为你可能已经知道它的脆弱性......依靠UA嗅探而不是特征检测不是一个好习惯。

有一些方法可以测试您网页的效果而无需猜测访问者使用的设备/平台/版本,RequestAnimationFrame可以作为探测应用实际响应能力的另一种方法,但我不会&#39 ; t。知道这对你的用例是否足够。

答案 2 :(得分:1)

我为WhichBrowser维护了一个Firefox OS设备列表 - 一个用户代理嗅探库。它目前包含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

答案 3 :(得分:0)

我得到hint我可以使用FileReader API阅读/proc/meminfo以获取所有设备上的详细内存信息。以后必须检查。 :)

修改

无法使其正常工作。我尝试了无效一个:

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

没有任何效果。