Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JQuery.Validate CDN fallback

A bit of a follow on from this question: Best way to use Google's hosted jQuery, but fall back to my hosted library on Google fail

So I can detect if the JQuery CDN is down and allow for this:

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

How do I do the same for jquery.validate, when loaded as:

<script type="text/javascript" language="javascript" src="http://ajax.microsoft.com/ajax/jQuery.Validate/1.6/jQuery.Validate.min.js"></script>
like image 714
Liam Avatar asked Sep 24 '12 12:09

Liam


1 Answers

Use this instead:

if(typeof $().validate == 'undefined')
{
    /// same code as before except pointing at your local jQuery.validate path
}

DEMO - Check if validate exists

Returns true in the console if it exists and false if not.
Remove the script reference in the DEMO to get false as output.

Your complete code may look similar to this:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jQuery.Validate/1.6/jQuery.Validate.min.js"></script>

<script type="text/javascript">
    if (typeof jQuery == 'undefined') {
        document.write(unescape("%3Cscript src='/Script/jquery-1.7.2.min.js' type='text/javascript'%3E%3C/script%3E"));
    };

    if (typeof $().validate == 'undefined') {
        document.write(unescape("%3Cscript src='/Script/jquery.Validate-1.6.min.js' type='text/javascript'%3E%3C/script%3E"));
    }
</script>
like image 59
Nope Avatar answered Oct 20 '22 21:10

Nope