Use comentário condicional para determinar a versão do IE. Bem, alguém o propôs cedo, mas não olhou para o código com cuidado. Por acaso, vi quando estava assistindo a torta do CSS3 ontem e achei que não era confiável. Eu também mencionei hoje por Paul Irish, então recomendo. Isso está escrito no blog do autor:
A cópia do código é a seguinte:
// ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Um trecho curto para detectar versões do IE em JavaScript
// sem recorrer ao sniffing do agente do usuário
// ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Se você não está no IE (ou a versão do IE é menor que 5) então:
// ie === indefinido
// Se você estiver no IE (> = 5), pode determinar qual versão:
// ie === 7; // ie7
// Assim, para detectar o IE:
// if (ie) {}
// e para detectar a versão:
// ie === 6 // ie6
// ie> 7 // ie8, ie9 ...
// ou seja, <9 // qualquer coisa menos que o IE9
// ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Atualização: agora usando a ideia de nodelista ao vivo de @jdalton
var ie = (function () {
var undef,
v = 3,
div = document.createElement ('div'),
all = div.getElementsByTagName ('i');
Enquanto (
div.innerhtml = '<!-[se gt ie' + (++ v) + ']> <i> </i> <! [endif]->',
tudo [0]
);
retornar v> 4? V: Undef;
} ());
Preste atenção a isso durante a declaração. É o que acho mais interessante. Para operador de vírgula. Não estou familiarizado com isso e só estou com o uso de definições variáveis. por exemplo:
A cópia do código é a seguinte:
var a = 'b', c = 'd', e = 'f';
var obj = {
A: 'B',
cd',
e: 'f'
}
Perguntei ao meu colega de trabalho @kangpangpang e verifiquei o livro novamente. Na verdade, isso é relativamente raro. Geralmente o último valor é retornado.
A cópia do código é a seguinte:
var a = (1,2,3,5,6,0,9,4); // a === 4
Bem, é provavelmente isso. Muito interessante.