Utilisez un commentaire conditionnel pour déterminer la version d'IE. Eh bien, quelqu'un l'a proposé très tôt, mais n'a pas lu attentivement le code. Je l'ai vu hier en regardant CSS3 PIE, et j'ai pensé que ce n'était pas fiable. J'ai vu Paul Irish en parler aujourd'hui, alors permettez-moi de le recommander. Ceci est écrit sur le blog de l'auteur :
// -- ------------------------------------------------------------- ---- ------
// Un court extrait pour détecter les versions d'IE en JavaScript
// sans recourir au reniflage d'agent utilisateur
// -------- ----- --------------------------------------------- -----
/ / Si vous n'êtes pas dans IE (ou la version d'IE est inférieure à 5) alors :
// ie === undefined
// Si vous êtes dans IE ( >=5) alors vous pouvez déterminer quelle version :
// ie === 7; // IE7
// Ainsi, pour détecter IE :
// if (ie) {}
// Et pour détecter la version :
// ie === 6 // IE6
// ie > 7 // IE8, IE9...
// ie < Tout ce qui est inférieur à IE9
// ----------------------------------------- --------- --------
// MISE À JOUR : Utilisation désormais de l'idée Live NodeList de @jdalton
var c'est à dire = (fonction(){
var undef,
v = 3,
div = document.createElement('div'),
all = div.getElementsByTagName('i');
while (
div.innerHTML = '' ,
tous[0]
);
retourner v > 4 ? v : undef;
}());
Faites attention à cette déclaration while. C'est ce que je trouve le plus intéressant. pour l'opérateur virgule. Je ne le connais pas non plus et je suis juste coincé sur une utilisation comme la définition de variable. Par exemple :
var a= 'b' , c = 'd', e = 'f';
var obj = {
a: 'b',
c: 'd',
e: 'f'
}
J'ai demandé au travailleur @kangpangpang, encore une fois, j'ai consulté le livre. En fait, c'est relativement rare. Habituellement, la dernière valeur est renvoyée.
var a = (1,2,3 ,5, 6,0,9,4); // a === 4
Eh bien, c'est probablement ça. Assez intéressant.