[JS]user-agentを参照せずにIEの各バージョンを判定するシンプルなスクリプト
user-agentを参照せずに、IE6, 7, 8, 9の各バージョンを判定するスクリプトを紹介します。

Detect IE in JS using conditional comments
スクリプトは下記のようになります。
JavaScript
var ie = (function(){
var undef,
v = 3,
div = document.createElement('div'),
all = div.getElementsByTagName('i');
while (
div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
all[0]
);
return v > 4 ? v : undef;
}());
IEの各バージョンを判定して使う時は、下記のようになります。
IEかどうかの判定(あるいはIEのバージョンが5以下)
ie === undefined
IEが5以上であれば、バージョンの指定が可
ie === 7; // IE7
IE6以上の指定例
if (ie) {}
ie === 6 // IE6のみ
ie > 7 // IE8, IE9 ...IE8以上
ie < 9 // IE9未満
Post on:2010年9月17日








Comments
匿名
on 2010年9月17日
div.innerHTML の中は空じゃ動きませんよー。
オリジナルの記事にはちゃんと書いてあるので、
抜けてしまったのでしょうかね。
コリス
on 2010年9月17日
シンタックスハイライター新しいのにして、まだ慣れてませんでした。
修正しました、ありがとうございます。
links for 2010-09-17 – mooco | webdesign
on 2010年9月18日
[...] [JS]user-agentを参照せずにIEの各バージョンを判定するシンプルなスクリプト | コリス (tags: ie javascript js) [...]