2009-02-19 30 views
44

我是jquery的新手,想知道:是一種檢測瀏覽器是否爲Internet Explorer 6或更低版本的簡單方法?在jQuery中檢測Internet Explorer 6或更低版本

+0

$ .browser已被棄用。請參閱http://stackoverflow.com/questions/1944169/detecting-ie-using-jquery更多詳細信息 – 2013-01-17 13:37:02

回答

16

jQuery檢查功能,而不是「瀏覽器」。也就是說,您可以使用jQuery.support方法來檢測用戶瀏覽器的功能。

不贊成的方法(不要使用)

  • $ .browser
  • $ .browser.version
  • $ .boxModel

http://docs.jquery.com/Utilities/jQuery.support會給你一個總結其特點是受哪些瀏覽器支持。以這些數據爲例,您將開發一對條件檢查來確定正在使用的瀏覽器是否是您的目標瀏覽器。

+7

如果用戶想要檢測該功能,但是沒有jQuery.support方法來檢查:「瀏覽器添加哈希到瀏覽器歷史記錄「或類似的,所以這是更適當的檢測瀏覽器版本,而不是」它支持.cssFloat和.htmlSerialized? – ebynum 2010-08-24 19:03:02

0

http://docs.jquery.com/Utilities/jQuery.browser.version是如何

編輯:從道格拉斯

http://api.jquery.com/jQuery.browser/#jQuery.browser.version

我的意思是,如果你有舊版本不是最新的1.3修正鏈接...

而且,另一個好處是,使用JQuery,你不應該擔心版本。 JQuery的功能測試和處理所有malarky爲你。擔心版本和平臺是相當1999年

+0

$ .browser已被棄用 – Sampson 2009-02-19 17:28:51

+21

公司仍然需要支持IE6和你經常需要專門爲它做些事情,我很困惑,.browser被刪除,這只是愚蠢的。 – alex 2009-06-25 13:54:37

+0

亞歷克斯,我與你在一起關閉主題,我剛碰巧注意到你是SyntaxHighlighter的創建者好的工作,我在我的個人網站上使用它。 – Ron 2009-08-10 13:42:34

0

嘗試了這一點:

jQuery.each(jQuery.browser, function(i, val) { 
    $("<div>" + i + " : <span>" + val + "</span>") 
      .appendTo(document.body); 
}); 

如果您需要更多信息請參閱本:

http://docs.jquery.com/Utilities/jQuery.browser

6

很不錯的方法來檢測IE是:

if ('v'=='\v') { 
    welcome to IE)) 
} 

不幸的是它無法識別它的版本但它並不總是祕密。

50

您也可以直接詢問IE。

<!--[if lte IE 6]> 
<script type="text/javascript"> 
    var isRunningIE6OrBelow = true; 
</script> 
<![endif]--> 
3

而且,換個好點的是,使用jQuery,你不應該擔心的版本。

如果您使用jquery修復IE6 css渲染錯誤,那並沒有幫助。

0

「雖然這是不可能jQuery.browser 將被刪除,竭力採用 jQuery.support和適當的功能 檢測應作出。」

所以我說繼續使用它。他們必須保持與仍然使用用戶代理嗅探方法的腳本的向後兼容性。

3

我經常檢查瀏覽器的版本。 .support方法非常棒,但是當您需要隱藏選擇內容時,它並沒有真正的幫助。沒有「支持選擇窗口控件」。你只需要檢查瀏覽器版本,所以我會說你可以在.support方法上犯錯,並在必要時使用.browser。

1

只是爲了讓人們知道 $ .browser.msie & & /6.0/.test(navigator.userAgent) 是不可靠的,我來這個問題尋找答案與JQuery的bgiframe問題這在我的機器上壞掉了,因爲我在navigator.userAgent字符串中有'Media Center PC 6.0'。我現在編輯源使用$ browser.version測試。

它愚蠢的JQuery不贊成這些瀏覽器測試,因爲它們可能是醜陋的,因爲它們是處理瀏覽器生態系統醜陋的狀態所必需的。

5

如果ActiveXObject存在,XMLHttpRequest不,這是IE6:

/* IE6 Check */ 
(!!window.ActiveXObject && !window.XMLHttpRequest) ? true : false; 

在IE7中,這將是:

(!!window.ActiveXObject && !!window.XMLHttpRequest) ? true: false; 

參考

相關問題