Como verifico qual versão do jQuery está carregada na máquina cliente? O cliente pode ter o jQuery carregado, mas não sei como verificá-lo. Se eles o tiverem carregado, como verifico a versão e o prefixo, como:
$('.class')
JQuery('.class')
Como verifico qual versão do jQuery está carregada na máquina cliente? O cliente pode ter o jQuery carregado, mas não sei como verificá-lo. Se eles o tiverem carregado, como verifico a versão e o prefixo, como:
$('.class')
JQuery('.class')
Respostas:
if (typeof jQuery != 'undefined') {
// jQuery is loaded => print the version
alert(jQuery.fn.jquery);
}
jQuery.fn.jquery
e jQuery().jquery
(taquigrafia:) $.fn.jquery
$().jquery
. Eu escrevi sobre isso em detalhes com links para o código-fonte jquery, se você quiser ir mais fundo.
if (window.jQuery) { // jQuery is loaded => print the version alert(jQuery.fn.jquery); }
!==
Você pode apenas verificar se o jQuery
objeto existe:
if( typeof jQuery !== 'undefined' ) ... // jQuery loaded
jQuery().jquery
tem o número da versão.
Quanto ao prefixo, jQuery
deve sempre funcionar. Se você deseja usar, $
pode agrupar seu código em uma função e passar jQuery
para ela como o parâmetro:
(function( $ ) {
$( '.class' ).doSomething(); // works always
})( jQuery )
if( jQuery )
lançará uma exceção se jQuery
for desconhecido e não funcionará.
try {...}catch(e){...}
?
jQuery().jquery
. Ele cria um objeto jQuery para nada. (comentário copiado de outra resposta)
$.fn.jquery
// If there is concern that there may be multiple implementations of `$` then:
jQuery.fn.jquery
Se você receber um número de versão - geralmente como uma string -, o jQuery será carregado e é com essa versão que você está trabalhando. Se não estiver carregado, você deve voltar
undefined
ou talvez até um erro.
Uma pergunta bastante antiga e já vi algumas pessoas que já mencionaram minha resposta nos comentários. No entanto, acho que, às vezes, grandes respostas deixadas como comentários podem passar despercebidas; especialmente quando há muitos comentários para uma resposta, você pode se deparar com uma pilha deles procurando por uma jóia. Espero que isso ajude alguém!
… Só porque esse método ainda não foi mencionado - abra o console e digite:
$ === jQuery
Como @Juhana mencionado acima $().jquery
retornará o número da versão.
($ === jQuery)?$().jquery:'no jquery';
Eu descobri que essa é a maneira mais curta e simples de verificar se o jQuery está carregado:
if (window.jQuery) {
// jQuery is available.
// Print the jQuery version, e.g. "1.0.0":
console.log(window.jQuery.fn.jquery);
}
Este método é usado por http://html5boilerplate.com e outros.
Minha preferência é:
console.debug("jQuery "+ (jQuery ? $().jquery : "NOT") +" loaded")
Resultado:
jQuery 1.8.0 carregado
Na verdade, você deve agrupar isso em um bloco try / catch para o 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'
? Isso é verdade para todos os IE ou apenas os mais antigos?
Em uma linha e no mínimo de pressionamentos de teclas (oops!):
alert($().jquery);
Acesse o desenvolvedor Tool> console e escreva um dos seguintes comandos
jQuery.fn.jquery
console.log(jQuery().jquery);
De acordo com o blog monstro de modelos , digitando, esses scripts abaixo fornecerão a versão do jquery no site que você está percorrendo agora.
1. console.log(jQuery.fn.jquery);
2. console.log(jQuery().jquery);
if (jQuery){
//jquery loaded
}
.....
$
.
$
? Não é exclusivo do jQuery.