条件付きコメントと条件付きコンパイルの違い


think49
jQuery で条件付きコメントを応用して、MSIE のバージョンを得る方法が書かれたコードがどこかにあったと思うけど忘れてしまった…。github にコードが上がっていて何かのブログ記事で見た覚えがある。
think49
@ こんな感じだったはず。
あのブログ記事はどこだったかなー。jQuery を解読した海外のブログを翻訳したまとめだった気がする。
think49
MSIE で実装別に処理を分ける方法に「条件付きコメント」と「条件付きコンパイル」があるけど、この2つは別物なんだなあ。
前者を "UA Detection" とするなら、後者は "ScriptEngine Detection" というべきか。
think49
@ IE6 を判定する場合、IE6 (jscript_version == 5.6 or 5.7) を判定したいのか、IE6 (jscript_version == 5.6) を判定したいのか、予め調査する必要があるが、正直面倒な気がする。
think49
@JScriptエンジンのバージョンに依存する問題」なのか、「IEのバージョンに依存する問題」なのか判断するためには IE6 (Windows XP SP2) と IE6 (Windows XP SP3) の両方を検証する必要があるが、どう考えても手間がかかる。
think49
@ そんなところに手間をかけるぐらいなら、"Feature Detection" にした方が能率が上がっていいんじゃないかなー。
think49
回答した。/
IE6だけの判定、IE7だけの判定について | OKWave

(2012/04/15 13:21追記)
条件付きコメントは IE10 から廃止される予定です。