Soy nuevo en jquery y me preguntaba: ¿es una forma simple de detectar si un navegador es Internet Explorer 6 o inferior?Detectar Internet Explorer 6 o inferior en jQuery
Respuesta
Tan simple como esto:
if($.browser.msie && $.browser.version=="6.0") alert("Im the annoying IE6");
actualización
Tenga en cuenta que es $.browserremoved from jQuery 1.9
Si usted todavía tiene que utilizar $ .browser en jQuery 1.9 (o otras funciones obsoletas), pruebe jQuery-migrate (https://github.com/jquery/jquery-migrate/ - http://code.jquery.com/jquery-migrate-1.2.1.js)
Para detectar una versión específica de Internet Explorer solamente, el enfoque de Aamir es casi perfecto en mi opinión. Sin embargo, creo que debes probar el valor de $ .browser.version como un entero , no como una cadena. Luego puedes hacer cosas más interesantes, como aplicar enlaces en la carga de documentos para corregir errores comunes en IE7 e IE6 simultáneamente (por ejemplo). Pero escribo solo desde el punto de vista explícito que solo me importa aproximadamente 1) Microsoft Internet Explorer, y 2) qué versión es si se detecta. Obsoleto o no, consultar $ .browser y $ .browser.version fue el enfoque más directo para mí. – markedup
Otra forma puede ser: ($ .browser.msie && /6.0/.test(navigator.userAgent)) –
... hasta que lleguen a la versión de IE 16.0, o 8.6.0, etc. – nickf
jQuery comprueba las características, en lugar de "navegadores". Dicho esto, puede usar el método jQuery.support para detectar qué es capaz el navegador de los usuarios.
métodos obsoletos (no utilizar)
- $ .browser
- $ browser.version
- $ .boxModel
http://docs.jquery.com/Utilities/jQuery.support le dará un resumen de las funciones que están compatible con los navegadores. Tomando esa información, desarrollará un par de verificaciones condicionales para determinar si el navegador que se está utilizando es su navegador de destino o no.
Esto es relevante si el usuario desea detectar esa funcionalidad, pero no hay un método jQuery.support para verificar: "el navegador agregar valores hash al historial del navegador "o similar, por lo que es más apropiado detectar la versión del navegador en lugar de" ¿admite .cssFloat y .htmlSerialized? – ebynum
http://docs.jquery.com/Utilities/jQuery.browser.version es como
EDITADO: Corregido enlace de Douglas
http://api.jquery.com/jQuery.browser/#jQuery.browser.version
Es decir, si usted tenía la vieja versión no la última ... 1.3
Además, Otro buen punto es que con JQuery, no debes preocuparte por la versión. JQuery ofrece pruebas de características y maneja todo eso malarky para usted. Preocuparse acerca de las versiones y plataformas es bastante 1999
$ .browser está en desuso. – Sampson
Las empresas aún requieren soporte para IE6 y usted a menudo tienen que hacer cosas específicamente para eso. Estoy bastante desconcertado de que .browser se elimine, eso es simplemente estúpido. – alex
Alex, estoy contigo en eso. Fuera del tema, me acabo de dar cuenta de que eres el creador de SyntaxHighlighter Buen trabajo, lo uso en mi sitio personal. – Ron
Trate de hacer esto:
jQuery.each(jQuery.browser, function(i, val) {
$("<div>" + i + " : <span>" + val + "</span>")
.appendTo(document.body);
});
si necesita más información consulte la siguiente:
muy buena manera de detectar IE es:
if ('v'=='\v') {
welcome to IE))
}
Desafortunadamente no puede reconocer su versión pero no siempre es nessecary.
Bueno uno. Lástima que no funciona en IE9 :( – Robert
También puede solicitar IE directamente.
<!--[if lte IE 6]>
<script type="text/javascript">
var isRunningIE6OrBelow = true;
</script>
<![endif]-->
Además, otro buen punto es que con JQuery, no debe preocuparse por la versión.
Eso no ayuda si está usando jquery para arreglar un error de renderizado IE6 css.
"Si bien es poco probable jQuery.browser será eliminada, debe hacerse todo lo posible por utilizar jQuery.support y adecuada detección de características ."
Así que digo adelante y úselo. Deben mantener compatibilidad hacia atrás con scripts que aún usan el método de detección de agente de usuario.
A menudo compruebo la versión de un navegador. El método .support es genial, pero realmente no ayuda cuando necesita ocultar selecciones cuando hay una superposición. No hay "selecciones de soporte son controles de ventana". Solo necesita comprobar la versión del navegador, por lo que diría que se equivoque hacia el método .support donde pueda, y use el .browser cuando sea necesario.
De todo corazón estoy de acuerdo. Muchas personas gritan las alabanzas de '$ .support', pero nunca * nunca * lo he encontrado útil. Está diseñado solo para uso interno y de complementos, IMO. – nickf
sólo para que la gente sepa $ browser.msie & & /6.0/.test(navigator.userAgent) no es fiable, he llegado a esta pregunta en busca de una respuesta a un problema con el bgiframe jQuery que se rompe en mi máquina porque tengo 'Media Center PC 6.0' en mi cadena navigator.userAgent. Ahora edité la fuente para usar la prueba $ browser.version.
Es tonto de JQuery desaprobar estas pruebas de navegador porque, por feas que sean, son necesarias para lidiar con el feo estado del ecosistema del navegador.
if ($.browser.msie && parseInt($.browser.version, 10) <= 6) {
alert("I'm not dead yet!");
}
- Actualización
favor, no que $.browser es removed from jQuery 1.9
Si ActiveXObject
existe y XMLHttpRequest
no lo hace, es IE6:
/* IE6 Check */
(!!window.ActiveXObject && !window.XMLHttpRequest) ? true : false;
En Internet Explorer 7, sería:
(!!window.ActiveXObject && !!window.XMLHttpRequest) ? true: false;
Referencias
Siempre he utilizado esta solución
http://sinfinity.pl/blog/2012/02/12/detect-internet-explorer-and-browser-version-in-jquery/
- 1. Recomendación del emulador de Internet Explorer 6
- 2. Internet Explorer 6 e Internet Explorer 7 en el mismo equipo para la depuración
- 3. Internet Explorer 8 e Internet Explorer 6 al lado del otro
- 4. Jquery .get() no funciona en Internet Explorer
- 5. ¿Cuál es la mejor forma de detectar Internet Explorer 6 usando JavaScript?
- 6. Crear un degradado radial para Internet Explorer 6/7/8
- 7. cloneNode en Internet Explorer
- 8. "Permiso denegado" con Internet Explorer y jQuery
- 9. jQuery e Internet Explorer (IE9) número
- 10. Internet Explorer 9 VHD
- 11. addEventListener en Internet Explorer
- 12. ¿Cómo puedo detectar qué versión de Internet Explorer está instalada?
- 13. Internet Explorer 8 + Deflate
- 14. Plugin NPAPI en Internet Explorer?
- 15. Degradados en Internet Explorer 9
- 16. Internet Explorer toDataURL() alternativa?
- 17. does internet explorer admite e.preventDefault
- 18. Etiquetas y campos ocultos en Internet Explorer (y jquery)
- 19. JQuery esquinas redondeadas en Internet Explorer (IE) en mal estado
- 20. setTimeout Internet Explorer
- 21. Internet Explorer innerHeight
- 22. Problema con ScriptManager.RegisterClientScriptBlock y jQuery en Internet Explorer 8
- 23. Llamada jQuery Ajax simple pierde memoria en Internet Explorer
- 24. jQuery 1.6.4 problemas de clonación en Internet Explorer 7
- 25. Error de Internet Explorer 8 - Identificador esperado, cadena o número - JQuery
- 26. Flot e Internet Explorer 9?
- 27. Sombra de texto en Internet Explorer?
- 28. caracteres Unicode e Internet Explorer
- 29. Internet Explorer ignorando mis cookies
- 30. jQuery "El objeto no admite esta propiedad o método" en Internet Explorer
$ .browser ya no se utiliza. Consulte http://stackoverflow.com/questions/1944169/detecting-ie-using-jquery más detalles –