Jak sprawdzić, która wersja jQuery jest załadowana na maszynie klienta? Klient może mieć załadowane jQuery, ale nie wiem, jak to sprawdzić. Jeśli mają go załadowane, jak sprawdzić wersję i prefiks, takie jak:
$('.class')
JQuery('.class')
Jak sprawdzić, która wersja jQuery jest załadowana na maszynie klienta? Klient może mieć załadowane jQuery, ale nie wiem, jak to sprawdzić. Jeśli mają go załadowane, jak sprawdzić wersję i prefiks, takie jak:
$('.class')
JQuery('.class')
Odpowiedzi:
if (typeof jQuery != 'undefined') {
// jQuery is loaded => print the version
alert(jQuery.fn.jquery);
}
jQuery.fn.jqueryi jQuery().jquery(stenografia:) $.fn.jquery $().jquery. Napisałem o tym szczegółowo z linkami do kodu źródłowego jquery, jeśli chcesz głębiej kopać.
if (window.jQuery) { // jQuery is loaded => print the version alert(jQuery.fn.jquery); }
!==
Możesz po prostu sprawdzić, czy jQueryobiekt istnieje:
if( typeof jQuery !== 'undefined' ) ... // jQuery loaded
jQuery().jquery ma numer wersji.
Jeśli chodzi o prefiks, jQuerypowinien zawsze działać. Jeśli chcesz użyć $, możesz zawinąć kod w funkcję i przekazać jQueryją jako parametr:
(function( $ ) {
$( '.class' ).doSomething(); // works always
})( jQuery )
if( jQuery )Rzuci wyjątek, jeśli jQuerynie jest znana i nie będzie działać.
try {...}catch(e){...}?
jQuery().jquery. Tworzy obiekt jQuery za darmo. (skopiowano komentarz z innej odpowiedzi)
$.fn.jquery
// If there is concern that there may be multiple implementations of `$` then:
jQuery.fn.jquery
Jeśli otrzymasz numer wersji - zwykle w postaci ciągu - wtedy jQuery zostanie załadowane i z tą wersją pracujesz. Jeśli nie zostanie załadowany, powinieneś wrócić,
undefineda może nawet błąd.
Dość stare pytanie i widziałem kilka osób, które już wspomniały o mojej odpowiedzi w komentarzach. Uważam jednak, że czasami świetne odpowiedzi, które pozostają, ponieważ komentarze mogą pozostać niezauważone; zwłaszcza, gdy jest wiele komentarzy do odpowiedzi, możesz przekopać się przez stosy ich w poszukiwaniu klejnotu. Mam nadzieję, że to komuś pomoże!
… Tylko dlatego, że jak dotąd nie wspomniano o tej metodzie - otwórz konsolę i wpisz:
$ === jQuery
Jak wspomniano powyżej @Juhana $().jqueryzwróci numer wersji.
($ === jQuery)?$().jquery:'no jquery';
Odkryłem, że jest to najkrótszy i najprostszy sposób sprawdzenia, czy jQuery jest załadowany:
if (window.jQuery) {
// jQuery is available.
// Print the jQuery version, e.g. "1.0.0":
console.log(window.jQuery.fn.jquery);
}
Ta metoda jest używana przez http://html5boilerplate.com i inne.
Moje preferencje to:
console.debug("jQuery "+ (jQuery ? $().jquery : "NOT") +" loaded")
Wynik:
Załadowano jQuery 1.8.0
Powinieneś owinąć to w blok try / catch dla 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'? Czy to prawda dla każdego IE, czy tylko starszych?
W jednej linii i minimalnej liczbie naciśnięć klawiszy (ups!):
alert($().jquery);
Przejdź do narzędzia> konsola programisty i napisz jedno z poniższych poleceń
jQuery.fn.jquery
console.log(jQuery().jquery);
Zgodnie z szablonowym blogiem potworów , pisząc, poniższe skrypty podadzą ci wersję jquery na stronie, którą teraz odwiedzasz.
1. console.log(jQuery.fn.jquery);
2. console.log(jQuery().jquery);
if (jQuery){
//jquery loaded
}
.....
$.
$? To nie jest unikalne dla jQuery.