2012-02-01 69 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