How to load local script files as fallback in cases where CDN are blocked/unavailable? [duplicate]

To confirm that cdn script loaded you can check for existence any variable/function this script defines, if it is undefined – then cdn failed and you need to load local script copy.

On this principle are based solutions like that:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.5.1.min.js">\x3C/script>')</script>

(if there is no window.jQuery property defined cdn script didn’t loaded).

You may build your own solutions using this method. For instance, jquery tooltip plugin creates $.tooltip() function so we can check it with code like this:

<script>
    if (typeof $.tooltip === 'undefined') {
        document.write('<script src="https://stackoverflow.com/questions/5257923/js/libs/jquery.tooltip.min.js">\x3C/script>');
    }
</script>

Leave a Comment