Come verificare quale versione di jQuery è stata caricata?

Come posso verificare quale versione di jQuery è stata caricata sul computer client? Il client può avere jQuery caricato ma non so come controllarlo. Se lo hanno caricato come faccio a controllare la versione e il prefisso come:

$('.class') JQuery('.class') 

 if (typeof jQuery != 'undefined') { // jQuery is loaded => print the version alert(jQuery.fn.jquery); } 

Puoi solo controllare se l’object jQuery esiste:

 if( typeof jQuery !== 'undefined' ) ... // jQuery loaded 

jQuery().jquery ha il numero di versione.

Per quanto riguarda il prefisso, jQuery dovrebbe sempre funzionare. Se vuoi usare $ puoi avvolgere il tuo codice su una funzione e passare jQuery ad esso come parametro:

 (function( $ ) { $( '.class' ).doSomething(); // works always })( jQuery ) 

… solo perché questo metodo non è stato menzionato finora – apri la console e digita:

 $ === jQuery 

Come @Juhana menzionato sopra $().jquery restituirà il numero di versione.

Ho trovato che questo è il modo più breve e più semplice per verificare se jQuery è caricato:

 if (window.jQuery) { // jQuery is available. // Print the jQuery version, eg "1.0.0": console.log(window.jQuery.fn.jquery); } 

Questo metodo è utilizzato da http://html5boilerplate.com e altri.

 $.fn.jquery 

Se torni un numero di versione – solitamente come una stringa – allora viene caricato jQuery e questa è la versione con cui stai lavorando. Se non caricato, si dovrebbe tornare undefined o forse anche un errore.

Domanda piuttosto vecchia e ho visto alcune persone che hanno già menzionato la mia risposta nei commenti. Tuttavia, trovo che a volte grandi risposte che rimangono come commenti possono passare inosservate; specialmente quando ci sono molti commenti a una risposta potresti trovarti a scavare tra pile di persone alla ricerca di una gem. Speriamo che questo aiuti qualcuno fuori!

La mia preferenza è:

 console.debug("jQuery "+ (jQuery ? $().jquery : "NOT") +" loaded") 

Risultato:

jQuery 1.8.0 caricato

In realtà dovresti racchiuderlo in un blocco try / catch per 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 } 
 if (jQuery){ //jquery loaded } 

…..