条件付きコメントを使用して IE バージョンを決定します。そうですね、誰かが早い段階で提案しましたが、コードを注意深く読みませんでした。昨日、CSS3 PIEを見ていたらたまたま目にして、これは信頼できないと思いました。今日ポール・アイリッシュがそれについて言及しているのを見たので、お勧めします。これは作者のブログに書かれています:
/ / -- ----------------------------------------------- --- ------
// ユーザー エージェント スニッフィングに頼らずに JavaScript で IE のバージョンを検出するための短いスニペット
//
// --------- ---------------------------------------------------- ----
/ / IE を使用していない場合 (または IE のバージョンが 5 未満の場合):
// ie === 未定義
// IE を使用している場合 (> ;=5) 次に、次のバージョンを決定できます:
// ie === 7; // IE7
// したがって、IE を検出するには:
// if (ie) {}
// バージョンを検出するには:
// ie === 6 // IE6
// ie > 7 // IE8, IE9...
// ie // 未満 -------------------------------------- -------- --------
// 更新: @jdalton
からの Live NodeList アイデアを使用中
var ie = (function(){
var undef,
v = 3,
div = document.createElement('div'),
all = div.getElementsByTagName('i');
while (
div.innerHTML = '' ,
すべて[0]
);
return v > 4 ? v : undef;
}());
この while ステートメントに注意してください。それが私にとって最も興味深いことです。カンマ演算子の場合。私もよく分からず、変数定義などの使い方でつまづいてしまいました。例:
var a= 'b' 、c = 'd'、e = 'f';
var obj = {
a: 'b',
c: 'd',
e: 'f'
}
作業員 @kangpangpang に聞いてみました。もう一度本を調べてみました。実際、これは比較的まれです。通常は最後の値が返されます。
var a = (1,2,3 ,5, 6,0,9,4); // a === 4
まあ、おそらくそれでしょう。なかなか興味深いですね。