Reemplazar script si se ve en IE9?
-
25-09-2019 - |
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.
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:
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.