2013-04-18 7 views
5

Używam niektórych plików CDN js i css.Jak załadować pliki lokalne, jeśli CDN nie działa

Szukałem w Google tego, jak załadować dane lokalne, jeśli CDN nie działa.

znalazłem dobre łącze napisane jak to

<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
     <script type="text/javascript"> 
      if (typeof jQuery == 'undefined') { 
       document.write(unescape("%3Cscript src='JS/Plugins/jquery-1.8.2.min.js' type='text/javascript'%3E%3C/script%3E")); 
      } 
     </script> 

Tak jego pracy, ale potem próbowałem do innej sieci CDN, a potem jej nie pobierając od lokalnego. jeśli CDN nie działa, oznacza to błąd na mojej stronie, a strona nie działa poprawnie z powodu braku tego pliku js. środki:

<script type="text/javascript" src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script> 
<script type="text/javascript"> 
    if (typeof jQuery == 'undefined') { 
     document.write(unescape("%3Cscript src='Include/JS/JqueryPlugin/jquery.min.js' type='text/javascript'%3E%3C/script%3E")); 
    } 
</script> 

w powyższym przypadku lokalnych jquery.min.js nie jest pobierany, gdy powyżej CDN nie działa.

podobnie jak zrobić dla CSS (wyszukiwano w Google i nie znaleziono żadnego dobrego rozwiązania).

Jak sprawdzić, która sieć CDN nie działa i pobrać odpowiednie pliki z lokalnego.

Proszę o pomoc

góry dziękuję

+2

To nie jest problem CDN. Masz dwie różne ścieżki lokalne. – ahren

+0

Mam napisane dwie lokalne ścieżki, ale chcę zrobić, jak Przykład: jeśli x cdn nie działa, to pobierze tylko x.local, a nie inne. jeśli 2 cdn js nie działa, to pobierze tylko 2 nie wszystkie jak to zrobić – user1926138

Odpowiedz

7

Można użyć tych skryptów poniżej:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script> window.jQuery || document.write('<script src="/scripts/jquery.1.9.1.min.js"><\/script>')</script> 
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script> 
<script> window.jQuery.ui || document.write('<script src="/scripts/jquery-ui.min.js"><\/script>')</script> 

Nadziei przydatna!

+0

Jak używać go do skryptów innych niż jQuery i jQuery UI? –

+0

@ AbhinandanN.M. nie wahaj się otworzyć pytania. Ale w tej samej logice, załadowany skrypt powinien przypisać coś do okna lub utworzyć zmienną, którą można zweryfikować, jeśli istnieje. – FrEaKmAn

0

Można to osiągnąć za pomocą ustawień DNS bez zmiany kodu.

Zasadniczo próbujesz wykonać przełączanie awaryjne między CDN a serwerem źródłowym. Jeśli CDN ulegnie awarii, żądanie nie powiedzie się do serwera źródłowego. Jedną z opcji jest użycie przełączania awaryjnego na poziomie DNS z podstawową dla CDN CNAME, tworzenie kopii zapasowej na nazwę hosta serwera źródłowego.

Włączysz także kontrolę kondycji w konfiguracji DNS dla serwera CDN i serwera źródłowego. Gdy funkcja sprawdzania kondycji zakończy się niepowodzeniem w przypadku sieci CDN, system DNS powinien przejść do serwera źródłowego i automatycznie wysyłać plik statyczny.