2012-02-01 70 views
2

我试图找到任何好的解决方案来检测Firefox版本< 3.6为了向他们发出通知,我的网站在新的浏览器(至少3.6)中工作得更好。我在http://api.jquery.com/jQuery.browser/上遇到了问题 - 但没有找到如何检测所有版本低于3.6的示例。有什么建议?检测火狐<3.6

谢谢!

+1

哪些功能你需要检测这种

var itsOldFF = false; var itsFF = false; $.each($.browser, function (i, val) { if (i == "mozilla" && itsFF == false){ itsFF = true; return; } if(itsFF && parseFloat(val) < 3.6) itsOldFF = true; }); return itsOldFF; 

编辑

演示?相反。 – BalusC 2012-02-01 12:50:49

+0

也许它是与性能相关的。 – 2012-02-01 12:52:49

回答

4
/* ===== Firefox ===== */ 

// Select Firefox 
if (jQuery.browser.mozilla) { 
    // do sth. 
} 

// Select Firefox 1.5.x to 2.x 
if (jQuery.browser.mozilla && jQuery.browser.version.substr(0, 3) == '1.8') { 
    // do sth. 
} 

// Select Firefox under 3.x 
if (jQuery.browser.mozilla && jQuery.browser.version < '1.9') { 
    // do sth. 
} 

// Select Firefox 3.0.x and above 
if (jQuery.browser.mozilla && jQuery.browser.version.substr(0, 3) == '1.9') { 
    // do sth. 
} 

// Select just Firefox 2.0.x 
if (jQuery.browser.mozilla && jQuery.browser.version == '1.8.1') { 
    // do sth. 
} 

// Select just Firefox 3.0.x 
if (jQuery.browser.mozilla && jQuery.browser.version == '1.9') { 
    // do sth. 
} 

// Select just Firefox 3.5.x 
if (jQuery.browser.mozilla && jQuery.browser.version == '1.9.1') { 
    // do sth. 
} 

// Select just Firefox 3.6.x 
if (jQuery.browser.mozilla && jQuery.browser.version == '1.9.2') { 
    // do sth. 
} 

/* ===== Internet Explorer ===== */ 

// Select Internet Explorer 
if (jQuery.browser.msie) { 
    // do sth. 
} 

// Select Internet Explorer above 6 
if (jQuery.browser.msie && jQuery.browser.version > 6) { 
    // do sth. 
} 

// Select Internet Explorer 7 and below 
if (jQuery.browser.msie && jQuery.browser.version <= 7) { 
    // do sth. 
} 

// Select just Internet Explorer 6 
if (jQuery.browser.msie && jQuery.browser.version == '6.0') { 
    // do sth. 
} 

// Select just Internet Explorer 7 
if (jQuery.browser.msie && jQuery.browser.version == '7.0') { 
    // do sth. 
} 

// Select just Internet Explorer 8 
if (jQuery.browser.msie && jQuery.browser.version == '8.0') { 
    // do sth. 
} 

// Select just Internet Explorer 9 
if (jQuery.browser.msie && jQuery.browser.version == '9.0') { 
    // do sth. 
} 

/* ===== Safari/Chrome ===== */ 

// Select Safari/Chrome 
if (jQuery.browser.safari) { 
    // do sth. 
} 

// Select Safari 3 
if (jQuery.browser.safari && (navigator.appVersion.indexOf('3.') != -1)) { 
    // do sth. 
} 

// Select Safari 4 
if (jQuery.browser.safari && (navigator.appVersion.indexOf('4.') != -1)) { 
    // do sth. 
} 

// Select Chrome 1 
if (jQuery.browser.safari && (navigator.appVersion.indexOf('1.') != -1)) { 
    // do sth. 
} 

// Select Chrome 3 
if (jQuery.browser.safari && (navigator.appVersion.indexOf('3.') != -1)) { 
    // do sth. 
} 

/* ===== Opera ===== */ 

// Select Opera 
if (jQuery.browser.opera) { 
    // do sth. 
} 

// Select Opera 9.5 and above 
if (jQuery.browser.opera && jQuery.browser.version >= '9.5') { 
    // do sth. 
} 

// Select just Opera 9.5 
if (jQuery.browser.opera && jQuery.browser.version == '9.5') { 
    // do sth. 
} 

// Select just Opera 10 
// Note: Opera 10's user agent looks like Opera/9.80 [...] Version/10.00 
if (jQuery.browser.opera && jQuery.browser.version == '9.8') { 
    // do sth. 
} 
1
var ua = $.browser; 
if (ua.mozilla && parseFloat(ua.version.slice(0,3)) < 3.6) { 
    alert("Do stuff for firefox 3.6 or less"); 
} 
+0

试过这个,没有工作:它发送警报以及3.6 FF – cukabeka 2012-02-02 14:14:14

2

一般来说,你最好不要检测功能而不是版本。无论检测功能,你需要的,而不是版本号

+0

的问题是:我不知道哪个功能确实有差别。我只看到它从3.6上工作.. – cukabeka 2012-02-02 14:15:32

+0

那么你使用哪些功能? Blob被添加大约然后 – 2012-02-02 16:34:41

+0

它似乎取决于CSS功能和解析。 FF 3.6添加了一些CSS3功能吗? – cukabeka 2012-02-03 10:45:49

3

尝试在jsFiddle.net

+0

@honestor做了我的解决方案吗? – 2012-02-07 03:52:07

+0

对于迟到的回复感到抱歉,不,它没有。 FF3.6未正确检测到。 – cukabeka 2012-09-16 11:54:50