Pregunta

¿Qué tan fácil sería para ejecutar un javascript diferente dependiendo del navegador del usuario?

Por ejemplo, si alguien visita el sitio con IE9 me gustaría que se ejecute un script diferente a la que se correría normalmente para los usuarios de Chrome.

¿Fue útil?

Solución

Se puede usar comentarios condicionales para esto:

<!--[if lte IE 6]>
    <script>alert('lte stands for less than or equal to')</script>
<![endif]-->

<!--[if lt IE 7]>
    <script>alert('lt stands for less than')</script>
<![endif]-->

<!--[if gte IE 9]>
    <script>alert('gte stands for greater than or equal to')</script>
<![endif]-->

etc.

Otros consejos

Existen varias técnicas de detección de navegador. Usted puede tratar de detectar el navegador (por sí mismo mediante el examen de la propiedad navigator.userAgent) o puede utilizar los métodos disponibles en casi todas marco de JavaScript. Por ejemplo:

  1. jQuery.browser
  2. navegador detecta con Prototype JS

Alternativamente, puede utilizar condicional comentarios pero sólo son reconocidos por el IE.

- Pavel

Puede utilizar comentarios condicionales en el código HTML.

<!--[if IE]>
   <script src="ie_only.js"></script>
<![endif]-->

Esto puede también ser utilizado para hojas de estilo externas

más información sobre esta entrada http: // CSS- tricks.com/how-to-create-an-ie-only-stylesheet/

Te recomendamos detección de características en su lugar.

if (someIEAPI) {
    // ie code
} else if (someChromeAPI) {
    // chrome code
}

Este código es más robusto y si Firefox u Opera soportes uno de la API es que no tiene que comprobar si sus navegadores de todos modos.

Además de los navegadores tienen la costumbre de mentir a usted y pretendiendo ser lo que está de moda.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top