我正在编写一个片段,用于检查所使用的Firefox操作系统版本。
现在我在用户代理字符串中使用gecko版本(在每个版本的Firefox OS中都不同),但它不是专业解决方案,通常很简单。
要点: https://gist.github.com/Mte90/11087561
有什么建议吗?
使用更好的解决方案更新要点以检查Firefox OS版本
答案 0 :(得分:2)
这是我现在知道的唯一检测Firefox OS版本的方法。如果是also to see if a feature exists,我会再次使用功能检测而不是版本检测。
if (navigator.connection) //Network Information API
if (navigator.battery) // Battery Status API
如果这些返回true,那么因为这些功能在用户运行您的应用程序的版本上可用。
答案 1 :(得分:2)
执行此操作的方法并不是很好,但您可以解析用户代理
function convertVersionNumber(ver) {
var hashVersion = {
'18.0': '1.0.1',
'18.1': '1.1',
'26.0': '1.2',
'28.0': '1.3',
'30.0': '1.4',
'32.0': '1.5'
}
var rver = ver;
var sStr = ver.substring(0, 4);
if (hashVersion[sStr]) {
rver = hashVersion[sStr];
}
return (rver);
} function getVersion() {
if (navigator.userAgent.match(/(mobile|tablet)/i)) {
var ffVersionArray = (navigator.userAgent.match(/Firefox\/([\d]+\.[\w]?\.?[\w]+)/));
if (ffVersionArray.length === 2) {
return (convertVersionNumber(ffVersionArray[1]));
}
}
return (null);
}
答案 2 :(得分:0)
在/gaia/profile/settings.json
中可以阅读该版本吗?
或使用设置api进行阅读和比较:
deviceinfo.platform_version