2013-10-21 157 views
0

我想通過JavaScript檢測IE8和9。所有這些返回爲7. 我試過JQuery-1.8.2,但結果相同。IE檢測不起作用

它返回「兼容」版本或其他東西。 如果IE8和9版本都使用他們的IE版本7,爲什麼他們的行爲有所不同? 爲什麼MS將它標記爲8和9並在IP標頭上發送一些其他版本的詳細信息?這是IE的預期行爲嗎?

我也試過。 http://msdn.microsoft.com/en-us/library/ms537509(v=vs.85).aspx

任何人都可以對此作出解釋。 謝謝。

+0

會喜歡上我下面貼 – Leon

+0

@leonid答案輸入:肯定。有一個糟糕的一天。我暫時忽略IE檢查作爲臨時解決方案。我要檢查一下。 – sura2k

回答

1

你可以找到一個解決方案Detect IE version (prior to v9) in JavaScript

參見:

<!doctype html> 
<!--[if lt IE 7 ]> <html class="ie6"> <![endif]--> 
<!--[if IE 7 ]> <html class="ie7"> <![endif]--> 
<!--[if IE 8 ]> <html class="ie8"> <![endif]--> 
<!--[if IE 9 ]> <html class="ie9"> <![endif]--> 
<!--[if (gt IE 9)|!(IE)]><!--> <html class=""> <!--<![endif]--> 
<head> 

然後:

(function ($) { 
    "use strict"; 

    // Detecting IE 
    var oldIE; 
    if ($('html').is('.ie6, .ie7, .ie8')) { 
     oldIE = true; 
    } 

    if (oldIE) { 
     // Here's your JS for IE.. 
    } else { 
     // ..And here's the full-fat code for everyone else 
    } 

}(jQuery)); 
+1

它工作。非常感謝你。 – sura2k