2010-09-16 52 views

回答

6

最有效的方法:

<!--[if lte IE 6]> insert code here <![endif]--> 

如果你想運行一些JavaScript代碼只有IE 6及以下,把腳本塊內部的有條件評論。

理由使用:

  • 只能通過IE(別人看評論)認可
  • 你可以把IE-只黑客可能是無效的語法和它仍然是有效的(這是一個註釋)
  • 你可以把IE只在CSS,HTML和JavaScript黑客所有這句法
+0

這似乎很好,非常感謝! – fearofawhackplanet 2010-09-16 11:49:09

+0

沒問題;樂於幫助。 :) – 2010-09-16 11:51:25

0
init: function() { 
    this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; 
    this.version = this.searchVersion(navigator.userAgent) 
     || this.searchVersion(navigator.appVersion) 
     || "an unknown version"; 
    this.OS = this.searchString(this.dataOS) || "an unknown OS"; 
}, 
searchString: function (data) { 
    for (var i=0;i<data.length;i++) { 
     var dataString = data[i].string; 
     var dataProp = data[i].prop; 
     this.versionSearchString = data[i].versionSearch || data[i].identity; 
     if (dataString) { 
      if (dataString.indexOf(data[i].subString) != -1) 
       return data[i].identity; 
     } 
     else if (dataProp) 
      return data[i].identity; 
    } 
}, 
searchVersion: function (dataString) { 
    var index = dataString.indexOf(this.versionSearchString); 
    if (index == -1) return; 
    return parseFloat(dataString.substring(index+this.versionSearchString.length+1)); 
}, 
dataBrowser: [ 
    { 
     string: navigator.userAgent, 
     subString: "Chrome", 
     identity: "Chrome" 
    }, 
    { string: navigator.userAgent, 
     subString: "OmniWeb", 
     versionSearch: "OmniWeb/", 
     identity: "OmniWeb" 
    }, 
    { 
     string: navigator.vendor, 
     subString: "Apple", 
     identity: "Safari", 
     versionSearch: "Version" 
    }, 
    { 
     prop: window.opera, 
     identity: "Opera" 
    }, 
    { 
     string: navigator.vendor, 
     subString: "iCab", 
     identity: "iCab" 
    }, 
    { 
     string: navigator.vendor, 
     subString: "KDE", 
     identity: "Konqueror" 
    }, 
    { 
     string: navigator.userAgent, 
     subString: "Firefox", 
     identity: "Firefox" 
    }, 
    { 
     string: navigator.vendor, 
     subString: "Camino", 
     identity: "Camino" 
    }, 
    {  // for newer Netscapes (6+) 
     string: navigator.userAgent, 
     subString: "Netscape", 
     identity: "Netscape" 
    }, 
    { 
     string: navigator.userAgent, 
     subString: "MSIE", 
     identity: "Explorer", 
     versionSearch: "MSIE" 
    }, 
    { 
     string: navigator.userAgent, 
     subString: "Gecko", 
     identity: "Mozilla", 
     versionSearch: "rv" 
    }, 
    {  // for older Netscapes (4-) 
     string: navigator.userAgent, 
     subString: "Mozilla", 
     identity: "Netscape", 
     versionSearch: "Mozilla" 
    } 
], 
dataOS : [ 
    { 
     string: navigator.platform, 
     subString: "Win", 
     identity: "Windows" 
    }, 
    { 
     string: navigator.platform, 
     subString: "Mac", 
     identity: "Mac" 
    }, 
    { 
      string: navigator.userAgent, 
      subString: "iPhone", 
      identity: "iPhone/iPod" 
    }, 
    { 
     string: navigator.platform, 
     subString: "Linux", 
     identity: "Linux" 
    } 
] 

}; 
BrowserDetect.init(); 
0

通過獲取使用的瀏覽器:

navigator.userAgent 
0

在jQuery中,你想要the $.browser method

$.browser.msie如果瀏覽器是Internet Explorer,則返回true。

$.browser.version報告版本,如瀏覽器的標識字符串中所述。我不知道什麼版本的IE報告了這一點,所以我不確定你需要檢查什麼來識別7歲以上的IE。

根據文檔,$.browser已被棄用爲jQuery 1.3,但顯然沒有任何計劃去除它。

相關問題