¿Cómo verifico qué versión de jQuery está cargada en la máquina cliente? El cliente puede tener jQuery cargado pero no sé cómo verificarlo. Si lo tienen cargado, ¿cómo verifico la versión y el prefijo como:
$('.class')
JQuery('.class')
¿Cómo verifico qué versión de jQuery está cargada en la máquina cliente? El cliente puede tener jQuery cargado pero no sé cómo verificarlo. Si lo tienen cargado, ¿cómo verifico la versión y el prefijo como:
$('.class')
JQuery('.class')
Respuestas:
if (typeof jQuery != 'undefined') {
// jQuery is loaded => print the version
alert(jQuery.fn.jquery);
}
jQuery.fn.jquery
y jQuery().jquery
(shorthands:) $.fn.jquery
$().jquery
. Escribí al respecto en detalles con enlaces al código fuente de jquery si desea profundizar.
if (window.jQuery) { // jQuery is loaded => print the version alert(jQuery.fn.jquery); }
!==
Puede verificar si el jQuery
objeto existe:
if( typeof jQuery !== 'undefined' ) ... // jQuery loaded
jQuery().jquery
tiene el número de versión.
En cuanto al prefijo, jQuery
siempre debería funcionar. Si desea usarlo $
, puede ajustar su código a una función y pasarlo jQuery
como parámetro:
(function( $ ) {
$( '.class' ).doSomething(); // works always
})( jQuery )
if( jQuery )
arrojará una excepción si jQuery
se desconoce y que no va a funcionar.
try {...}catch(e){...}
?
jQuery().jquery
. Crea un objeto jQuery para nada. (comentario copiado de otra respuesta)
$.fn.jquery
// If there is concern that there may be multiple implementations of `$` then:
jQuery.fn.jquery
Si recupera un número de versión, generalmente como una cadena, entonces se carga jQuery y esa es la versión con la que está trabajando. Si no está cargado, debería volver
undefined
o tal vez incluso un error.
Pregunta bastante antigua y he visto algunas personas que ya han mencionado mi respuesta en los comentarios. Sin embargo, encuentro que a veces las respuestas excelentes que quedan como comentarios pueden pasar desapercibidas; especialmente cuando hay muchos comentarios a una respuesta, puede que te encuentres hurgando en montones de ellos en busca de una gema. ¡Ojalá esto ayude a alguien!
... solo porque este método no se ha mencionado hasta ahora: abra la consola y escriba:
$ === jQuery
Como @Juhana mencionado anteriormente $().jquery
devolverá el número de versión.
($ === jQuery)?$().jquery:'no jquery';
He encontrado que esta es la forma más corta y simple de verificar si jQuery está cargado:
if (window.jQuery) {
// jQuery is available.
// Print the jQuery version, e.g. "1.0.0":
console.log(window.jQuery.fn.jquery);
}
Este método es utilizado por http://html5boilerplate.com y otros.
Mi preferencia es:
console.debug("jQuery "+ (jQuery ? $().jquery : "NOT") +" loaded")
Resultado:
jQuery 1.8.0 cargado
En realidad, debe envolver esto en un bloque try / catch para IE:
// Ensure jquery is loaded -- syntaxed for IE compatibility
try
{
var jqueryIsLoaded=jQuery;
jQueryIsLoaded=true;
}
catch(err)
{
var jQueryIsLoaded=false;
}
if(jQueryIsLoaded)
{
$(function(){
/** site level jquery code here **/
});
}
else
{
// Jquery not loaded
}
typeof jQuery != 'undefined'
? ¿Es esto cierto para todos los IE o solo para los más antiguos?
En una línea y el mínimo de pulsaciones de teclas (¡Uy!):
alert($().jquery);
Vaya a la herramienta del desarrollador> consola y escriba uno de los siguientes comandos
jQuery.fn.jquery
console.log(jQuery().jquery);
Según el blog de Monster de plantilla , al escribir, estos scripts a continuación le darán la versión de jquery en el sitio que está recorriendo ahora.
1. console.log(jQuery.fn.jquery);
2. console.log(jQuery().jquery);
if (jQuery){
//jquery loaded
}
.....
$
.
$
? No es exclusivo de jQuery.