Essa técnica citada realmente é uma das maneiras mais modernas, mas tem certeza que um IE4 entende essa tag?
Eu ouvi dizer que não! O que eu ouvi é que essa sintaxe é compreendida apenas por navegadores versão 5 em diante.Alguém testou no IE4 ? Não creio, ninguém usa isso frequentando esse forum... a não ser que testem num computador de um leigo.
Eu descobri, através do meu script que batizei Javascript Self Explorer (criado para aumentar minhas capacidades cross-browser) que existem maneiras no mínimo exóticas de identificar diversos browsers.
Não é garantido no futuro, pode ser que os fabricantes mudem algumas coisas, mas sei que atualmente isso é uma verdade...
1º Somente os autênticos Mozilla ( Mozilla, Firefox e Netscape 6+) possuem valor na propriedade
navigator.product. Para essa família de browsers que eu amo, o valor é 'Gecko' e podemos usar apenas
if ( navigator.product != null) , dá na mesma. Mesmo quando o FF se disfarça de IE, mantém essa propriedade 'Gecko'.
Todos os demais browsers (IE, Opera, Teatro, Sinfonia, Canto Lírico) apresentam essa propriedade
nula2º O browser Opera é meio
tonto: Ele se disfarça de IE e de Mozilla, mas o bobo do Opera mantém a string Opera na propriedade
navigarot.userAgentDaí:
if ( navigator.product == null && navigator.userAgent.indexOf('Opera') > -1) saberemos que é um legítimo Opera.
3º Pobre do Internet Explorer:
if ( navigator.product == null &&
navigator.userAgent.indexOf('Opera') == -1 ) &&
navigator.appName.indexOf('icros') > -1) Teremos 99,99999999999999% de chance (igual ao teste de DNA) de estar diante de um
projeto de nav-IE-gador inacabado.
4º Eu paro por aqui. Outros browsers são apenas outros browsers.
Veja este teste online no meu site, menu "Conheça seu Browser"
http://multibrowser.sitesbr.net