[jQuery] Jak sobie radzić z dołączaniem biblioteki jQuery, gdy serwer CDN zawiedzie?
W dzisiejszych czasach biblioteka jQuery stała się niemalże podstawą do rozbudowywania interaktywnej funkcjonalności stron WWW. Można z jej pomocą tworzyć zaawansowane interfejsy użytkownika jak i osiągnąć animacje elementów strony nieodbiegające jakością od animacji Flash.
Problemem może być dołączanie plików biblioteki do kodu strony. Dlaczego? Pliki biblioteki jQuery sporo ważą, dlatego najczęściej się je pobiera bezpośrednio z zewnętrznego serwera CDN (na przykład z Google CDN) celem przyspieszenia ładowania strony. Jak sobie poradzić z sytuacją, gdy plik na serwerze CDN będzie niedostępny?
Jest na to sposób. Możemy za pomocą JS sprawdzić czy plik z serwera zewnętrznego jest dostępny i w przypadku, gdy nie jest dostępny, załączyć plik biblioteki z własnego serwera:
1 2 | <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/jquery-1.7.1.min.js">\x3C/script>')</script> |
Dzięki takiemu zapisowi, będziemy mieć pewność, że biblioteka jQuery zawsze będzie dostępna w czasie dostępności strony WWW, która ją wykorzystuje. W ten sam sposób można dołączać również inne biblioteki: Mootools, Dojo, itd., itp. Oczywiście, biblioteka z serwera lokalnego zostanie wczytana po odświeżeniu strony.
8 komentarze/y
Napisz komentarz
Komentarze są moderowane. Po akceptacji przez administratora zostaną wyświetlone na stronie.

03/01/2012 o 18:17
Bardzo użyteczne! Przestrzegam przed ładowaniem „zawsze najnowszej wersji” na ślepo, bo często może to prowadzić do unieruchomienia strony. API jQuery zmienia się dość gwałtownie – można było to zobaczyć razem z wersją 1.7, która znacznie różniła się od poprzedniej.
PS. Powiedziałbym nawet, że jQuery pozwala tworzyć efekty PRZEWYŻSZAJĄCE możliwości Flasha
03/01/2012 o 18:38
Odnośnie ładowania najnowszej wersji na ślepo, to całkowicie się z Tobą zgadzam. Lecz jeśli ktoś jest świadomy zmian, to nie widzę problemu.
03/01/2012 o 19:29
Można jeszcze dopisać, że sposób „ukradziony” z H5BP
03/01/2012 o 19:43
Uznałem, że warto go przedstawić. Nie byłem autorem tego rozwiązania.
09/01/2012 o 10:53
Polecam lekturę: http://happyworm.com/blog/2010/01/28/a-simple-and-robust-cdn-failover-for-jquery-14-in-one-line/
09/01/2012 o 18:10
dobre uzupełnienie do tego co napisałem
12/01/2012 o 18:39
Hmm, a zdarzyła się Ci sytuacja, że plik był niedostępny? W sumie faktycznie lepiej nie ryzykować i można tą dodatkową linijkę kodu dodać;]
12/01/2012 o 18:45
Tak, raz mi się zdarzyła. Kiedyś Google zmieniło na chwilę adresy ścieżek do jQuery.