Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to load local files if CDN is not working

I am using some CDN js and css files.

I searched in Google that how to load local data if CDN is not working.

i found a good link written like this

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

Yes its working but then i tried for another CDN network ,then its not downloading from local. if the CDN is not working then it is showing error in my page and the page is not working properly due to that missing that js file. means :

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

in the above case the local jquery.min.js is not downloading when the above CDN is not working .

similarly how to do for CSS(searched in Google and not found any good solution).

How to do know which CDN is not working and download respective files from local.

Please help

Thanks in advance

like image 746
user1926138 Avatar asked Apr 18 '13 07:04

user1926138


2 Answers

You can use this scripts below:

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

Hope usefull!

like image 175
Nguyen Truong Thin Avatar answered Sep 27 '22 20:09

Nguyen Truong Thin


This is achievable through DNS setting without changing code.

Basically you are trying to do failover between CDN and your origin server. If CDN fails, the request fails over to your origin server. One option is to use DNS level failover with primary to CDN CNAME, backup to your origin server hostname.

And you also include healthcheck in your DNS setup for both CDN and origin server. Once healthcheck fails for CDN, DNS should fail over to your origin server and serve static file from there automatically.

like image 32
George Sun Avatar answered Sep 27 '22 18:09

George Sun