2013-04-18 13 views
5

Ich verwende einige CDN JS und CSS-Dateien.So laden Sie lokale Dateien, wenn CDN nicht funktioniert

Ich suchte in Google, wie lokale Daten geladen werden, wenn CDN nicht funktioniert.

finde er eine gute Verbindung wie dieser seine Arbeits

geschrieben
<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> 

Ja, aber dann habe ich versucht, für ein anderes Netzwerk CDN, dann wird sie nicht von den lokalen Download. Wenn das CDN nicht funktioniert, zeigt es einen Fehler auf meiner Seite an und die Seite funktioniert aufgrund der fehlenden js-Datei nicht richtig. Mittel:

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

im obigen Fall des lokale jquery.min.js nicht das Herunterladen, wenn die oben CDN nicht funktioniert.

ähnlich wie für CSS (in Google gesucht und keine gute Lösung gefunden).

Wie Sie wissen, welche CDN nicht funktioniert und entsprechende Dateien von lokalen herunterladen.

Bitte helfen

Vielen Dank im Voraus

+2

Es ist nicht das CDN-Problem. Sie haben zwei verschiedene lokale Pfade. – ahren

+0

Ich habe zwei lokale Pfad geschrieben, aber ich möchte wie Beispiel tun: wenn x cdn nicht funktioniert dann wird es nur die x.local nicht andere herunterladen. wenn 2 cdn js funktionieren nicht, dann wird es nur 2 nicht alle herunterladen wie das zu tun – user1926138

Antwort

7

Sie diese Skripte unten verwenden:

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

Hoffnung nützlich!

+0

Wie es für andere Skripte als jQuery und jQuery UI verwenden? –

+0

@ AbhinandanN.M. Fühlen Sie sich frei, eine Frage zu öffnen. Aber dieselbe Logik, das geladene Skript sollte etwas dem Fenster zuweisen oder eine Variable erstellen, die Sie überprüfen können, wenn sie existiert. – FrEaKmAn

0

Dies ist durch DNS-Einstellung ohne Änderung des Codes erreichbar.

Grundsätzlich versuchen Sie, Failover zwischen CDN und Ihrem Ursprungsserver durchzuführen. Wenn CDN fehlschlägt, wird die Anfrage an Ihren Ursprungsserver weitergeleitet. Eine Option besteht darin, das DNS-Level-Failover mit dem primären CNN-CNAME zu verwenden und eine Sicherung auf dem Host-Namen des Ursprungsservers vorzunehmen.

Und Sie enthalten auch Healthcheck in Ihrem DNS-Setup für CDN und Ursprungsserver. Sobald der Healthcheck für CDN fehlschlägt, sollte DNS auf den Ursprungsserver wechseln und von dort aus automatisch die statische Datei bereitstellen.

Verwandte Themen