开发者

How to detect Firefox mobile with javascript?

I'm using the following code to detect whether the browser being used on my mobile site matches a certain crieteria:

var isiPhone = navigator.userAgent.match(/iPhone/i) != null;
if (isiPhone){ alert ('iphone');

but if I attempt to do this for Firefox / Mozilla, I can't get it to work. I've tried:

var isFirefox = navigator.userAgent.match(/Mozilla/i != null);

and

var isFirefox = navigator.userAgent.match(/Firefox/i != null);

I visited whatismyuseragent.com and got the following:

Mozilla/5.0 (Android;Linux armv7l; rv6.0) Gecko/20110811 Gecko Firefox/6.0 Fennec/6.0

Any idea how I properly detect this? I need to write some firefox specific code开发者_StackOverflow.


You can use the navigator.userAgent to detect the browser and navigator.platform to detect the current platform.

To Detect Firefox:

var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;

To Detect Android:

var is_android = navigator.platform.toLowerCase().indexOf("android") > -1;

To Detect Both:

if(is_firefox && is_android)
    //Do Work

I would recommend using something like modernizr to avoid browser detection and focus on feature detection.


var isFirefox = /Android.+Firefox\//.test(navigator.userAgent);


The mobile version of Firefox is Fennec, so just search for that:

var is_Firefox = navigator.userAgent.toLowerCase().indexOf('fennec') > -1;


None of the above functions were working for me, specifically buriwoy was detecting either android or firefox, this version of his function works:

function detectAndroidFirefox () {
   var agent = navigator.userAgent.toLowerCase();
   if(agent.indexOf('firefox') >= 0){
     if(agent.indexOf("android") >= 0){
       return true;    
     } else{
       return false;
     }
   } else{
     return false;
   }
}


you can check from user agent if it's contain firefox or android, for this maybe you need some code with regex


Rion's answer doesn't work (at least anymore), because navigator.platform doesn't return Android, it returns Linux.

I wrote a function which seems to work:

function detectAndroidFirefox () {
   var agent = navigator.userAgent.toLowerCase();
   return (agent.indexOf('firefox') + agent.indexOf("android")) >= 0;
}

Thought maybe someone will need this.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜