Question

I'm working on a snippet for check the Firefox OS version used.

Now i'm using the gecko version in the user agent string (is different in every version of Firefox OS) but it's not a professional solution often is simple.

The gist: https://gist.github.com/Mte90/11087561

Any suggestion?

The gist is updated with the better solution for check the Firefox OS version

Was it helpful?

Solution

Not very nice way to do this but you could parse the user agent

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

OTHER TIPS

This is the only way I know to detect the version of Firefox OS right now. If it's also to see if a feature exists, I would, again, use feature detection instead of version detection.

if (navigator.connection) //Network Information API
if (navigator.battery) // Battery Status API

If these if return true, it's because those features are available on the version the user run your application on.

In /gaia/profile/settings.json can you read the version?

Or use the settings api to read and compare:

deviceinfo.platform_version

Firefox OS Settings List

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top