Quiero ejecutar un fragmento de Javascript si el navegador no es IE o si es IE 9+. Si el navegador es IE8 o una versión inferior, se debe ejecutar otra parte de Javascript.¿Cómo hacer que su Javascript se ejecute condicionalmente, dependiendo del navegador?
He intentado utilizar Conditional Comments:
<!--[if (!IE)|(gte IE 9)]>
<script type="text/javascript"> /* code 1 */ </script>
<![endif]-->
<!--[if (lt IE 9)]>
<script type="text/javascript"> /* code 2 */ </script>
<![endif]-->
Pero IE6 y IE7 todavía estaban ejecutar código . Y Firefox estaba ejecutando código 2 ...
No jQuery, por favor.
Edit: En realidad, mi expresión condicional era incorrecta. Pero todavía fue con la detección de características propuestas en la respuesta elegida.
En general, es mucho, mucho mejor hacer la detección de funciones que la detección del navegador. Por lo tanto, si describe qué característica desea usar en IE9 y otros navegadores, pero no en IE8 y abajo, entonces puede usar una detección de funciones en tiempo de ejecución que generalmente es más precisa que la detección de navegadores. – jfriend00
Quiero usar document.getElementByClass(), que solo está disponible en IE8 + –