validate useragent support navegador identificar jquery browser-detection

useragent - Detectando IE6 usando jQuery.support



useragent jquery (8)

Este es un ejemplo de dónde deberíamos dar un paso atrás y preguntar por qué lo estás haciendo.

Por lo general, es para crear un menú. Si es así, le sugiero que se ahorre algunos dolores de cabeza y use un complemento como superfish o una de las muchas alternativas.

Si no, le sugiero que use el detector de eventos jQuery hover () . Por ejemplo:

$("td").hover(function() { $(this).addClass("hover"); }, function() { $(this).removeClass("hover"); });

hará lo que quieras

¿Alguien tiene alguna idea sobre cómo probar algo específico para IE6 (y no IE7) usando jquery.support?

Mi problema es que IE6 admite: hover psuedo-class solo para elementos de anclaje e IE7 lo admite para todos los elementos (como FF, Chrome, etc.). Así que quiero hacer algo especial en caso de que el navegador no sea compatible: pase el mouse por todos los elementos ... por lo tanto, necesito una forma de probar esta función. (no quiero usar jQuery.browser). ¿Algunas ideas?


Puede usar un comentario condicional específico de Microsoft Internet Explorer para aplicar código específico a solo IE6.

<!--[if IE 6]> Special instructions for IE 6 here... e.g. <script>...hook hover event logic here...</script> <![endif]-->


Si bien es una buena práctica verificar el soporte de funciones en lugar del agente de usuario, no hay una manera simple de verificar si hay algo así como soporte de una propiedad de css usando JavaScript. Te recomiendo que sigas la sugerencia de los carteles anteriores de usar comentarios condicionales o que uses jQuery.browser. Una implementación simple (no validada por rendimiento o errores) podría verse así:

if ($.browser.msie && $.browser.version.substr(0,1)<7) { // search for selectors you want to add hover behavior to $(''.jshover'').hover( function() { $(this).addClass(''over''); }, function() { $(this).removeClass(''over''); } }

En su marcado, agregue la clase .jshover a cualquier elemento que desee efectos hover css. En su css, agregue reglas como esta:

ul li:hover, ul li.over { rules here }


Solo por diversión (no usando jQuery.support):

$(document).ready(function(){ if(/msie|MSIE 6/.test(navigator.userAgent)){ alert(''OMG im using IE6''); } });

También puedes hacerlo a través de php

<? if(preg_match(''//bmsie 6/i'', $ua) && !preg_match(''//bopera/i'', $ua)){ echo ''OMG im using IE6''; } ?>


Thickbox usa

if(typeof document.body.style.maxHeight === "undefined") { alert(''ie6''); } else { alert(''other''); }




if ($.browser.msie && parseInt($.browser.version, 10) == 6) { alert("I''m not dead yet!"); }