2010-12-16 31 views
13

我正試圖在jQuery函數中以if語句爲目標。我的代碼到這個特定位是:與jQuery目標IE7

if($.browser.msie && $.browser.version.substring(0) == "7") { 
    //Do something 
} 

這是正確的嗎?

+4

你測試過了嗎? – Domenic 2010-12-16 17:08:09

+0

你也許正在尋找「正確」的方式去做點什麼?如果沒有,只需測試你的代碼,看看它是否工作? – gideon 2010-12-16 17:09:58

+0

我認爲'parseInt($。browser.version)== 7'會更漂亮。 – karim79 2010-12-16 17:11:55

回答

37

嘗試:

if($.browser.msie && parseInt($.browser.version, 10) == 7) { 
    //Do something 
} 

而作爲@Andrew惠特克的意見,而不是針對特定的瀏覽器,可以考慮檢測功能來代替。

+0

同意該聲明。即使jquery apis也說:「我們建議不要使用這個屬性,請嘗試使用特徵檢測。」 (http://api.jquery.com/jQuery.browser/) – Tjirp 2010-12-16 17:38:36

+4

@Tjirp,我不認爲有一種方法來檢測「功能」的IE7繪製滾動條內溢出內部窗口,IE8繪製它們在外面」。 – CaffGeek 2011-12-06 16:23:33

+0

不錯的腳本,upvote。但是,如果我想瞄準IE7和IE8呢?我用'if($。browser.msie && parseInt($。browser.version,10)== 7,8)'進行測試,並且它可以工作。但是,我的JSLint告訴我有一個錯誤。我不是一個JavaScript大師,所以我不明白錯誤的含義。我的想法是DYR,所以我不必爲兩個不同的瀏覽器重複相同的功能。任何想法如何做到這一點?謝謝。 – 2012-11-19 17:00:12