有人可以为我提供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é
答案 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
另外,如果你想知道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);
没有任何效果。