2012-03-29 13 views
9

Tworzę skrypt w JS, który będzie wywoływany z zewnętrznych stron, ale mój kod wymaga Jquery do pracy, specjalnie 1.7 i 1.8 dla interfejsu użytkownika, znalazłem sposób sprawdzenia, czy jquery jest zainstalowany i uzyskać wersję:Jak wykryć, czy zainstalowane są Jquery i Jquery UI oraz jakie wersje są zainstalowane?

$().jquery 

Ale to da mi ciąg znaków z kropkami (1.6.1); czy istnieje już funkcja sprawdzania, czy zainstalowana wersja jest starsza niż wymagana?

również potrzebne to samo dla biblioteki UI, znalazłem to, ale nie jestem bardzo pewny, czy działa prawidłowo, czy może nie wiem jak o niego korzystać:

//Get version: 
$.ui.version 
//Comnpare version 
var version_required = 1.7.1 
version = $.ui ? $.ui.version || "pre "+version_required : 'not found'; 

Dzięki

Odpowiedz

15

to może pracować dla Ciebie:

if (typeof jQuery != 'undefined' && /[1-9]\.[7-9].[1-9]/.test($.fn.jquery)) { 
    // jQuery is loaded and is at least version 1.7.1 
} 

Podobnie jest prawie taka sama dla Ui:

if (typeof jQuery.ui != 'undefined' && /[1-9]\.[7-9].[1-9]/.test($.ui.version)) { 
    // jQuery UI is loaded and is at least version 1.7.1 
} 

Najpierw sprawdza, czy jQuery jest dostępny, a następnie wykorzystuje prosty wzór regex do sprawdzenia, czy numery wersji mieszczą się w dopuszczalnym zakresie.

+1

Bardzo elegancki. Powinieneś jednak ponownie wypróbować test używając 'jQuery', ponieważ nie ma gwarancji, że' $ 'faktycznie jest obiektem jQuery. Można go nadpisać lub można wywołać 'jQuery.noConflict()'. zobacz http://api.jquery.com/jQuery.noConflict/ –

+0

To działało całkiem dobrze, wielkie dzięki! –

Powiązane problemy