如何在用戶端判斷瀏覽器的類型(Detecting IE7+ in JavaScript)

來源:互聯網
上載者:User
 

Today I was updating some Javascript code to support the rapidly-approaching Internet Explorer 7. There were a few places in the code where there were IE-specific workarounds, which happily are no longer needed in IE 7
thanks to its improved standards support. Yay position:fixed!

Where the code used to check for if (ie) { ... }, now I wanted it to check for if (ie6OrLower) { ... }. So how to you tell the difference between IE 6 and IE 7+? You could parse the user-agent string, but I’d rather detect changes in the javascript object model. Here’s what I came up with:

if (typeof document.body.style.maxHeight != "undefined") {
  // IE 7, mozilla, safari, opera 9
} else {
  // IE6, older browsers
}
This distinguishes between browsers based on the fact that IE 7 knows about the maxHeight css property, whereas previous versions of IE didn’t. Does that seem like a sane approach to you?

Update: over at Ajaxian Arjan points out that it’s a bit simpler to check for window.XmlHttpRequest, which is also new in IE 7.

JAVASCRIPT:

  1.  
  2. if (typeof document.body.style.maxHeight != "undefined") {
  3.   // IE 7, mozilla, safari, opera 9
  4. } else {
  5.   // IE6, older browsers
  6. }


    You can also use the XHR check:


  7. if (window.XMLHttpRequest) {
    // IE 7, mozilla, safari, opera 9
    } else {
    // IE6, older browsers
    }

    If script is executed width , then document.body is not available yet.

    if (window.XMLHttpRequest) {
    if(document.epando){
       alert("ie7");
    //IE7
    }else{
    //mozilla, safari, opera 9…etc
       alert("mozilla");
    }
    } else {
    // IE6, older browsers
       alert("ie6");
    }

    偶測試了一下,發現這最後一種方法區別不了 IE7還是firefox,請高人指點一下!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.