条件付きコメントを使用して、IEのバージョンを決定します。まあ、誰かがそれを早期に提案しましたが、コードを注意深く見ていませんでした。昨日CSS3パイを見ていたとき、私はたまたまそれを見ましたが、それは信頼できないと思いました。今日もポール・アイリッシュから言及したので、お勧めします。これは著者のブログに書かれています:
コードコピーは次のとおりです。
// ------------------------------------------------------------------------------------------------------------------------------
// JavaScriptでIEのバージョンを検出するための短いスニペット
//ユーザーエージェントスニッフィングに頼ることなく
// ------------------------------------------------------------------------------------------------------------------------------
// IEにいない場合(またはIEバージョンが5未満)、
// IE ===未定義
// IE(> = 5)にいる場合は、どのバージョンを決定できますか。
// ie === 7; // IE7
//したがって、IEを検出するには:
// if(ie){}
//バージョンを検出するには:
// ie === 6 // ie6
// ie> 7 // ie8、ie9 ...
// IE <9 // IE9以下のもの
// ------------------------------------------------------------------------------------------------------------------------------
//更新:@jdaltonのライブノデリストのアイデアを使用してください
var ie =(function(){
var redef、
v = 3、
div = document.createelement( 'div')、
all = div.getElementsByTagname( 'i');
その間 (
div.innerhtml = '<! - [gt ie' +(++ v) + ']> <i> </i> <![endif] - >'、
すべて[0]
);
v> 4を返しますか? V:undef;
}());
声明の間、これに注意してください。それは私が最も面白いと思うものです。コンマオペレーター用。私はそれに慣れていません、そして、私は変数の定義の使用にとどまっています。例えば:
コードコピーは次のとおりです。
var a = 'b'、c = 'd'、e = 'f';
var obj = {
A: 'B'、
CD'、
E: 'f'
}
同僚@kangpangpangに尋ねて、本をもう一度チェックしました。実際、これは比較的まれです。通常、最後の値が返されます。
コードコピーは次のとおりです。
var a =(1,2,3,5,6,0,9,4); // a === 4
まあ、それはおそらくそれです。とても面白い。