chevron-left chevron-right

[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.