Loading jQuery from Google or locally if not online
18,699
Solution 1
Sure, check out how they do it in HTML5 boilerplate.
If you take a look at the bottom of the index.html file within the GitHub repo, you'll see the following...
<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/X.X.X/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="local/jquery-X.X.X.min.js">\x3C/script>')</script>
NB: In the code snippet above X.X.X should be replaced with the jQuery version number that you're using (e.g. 1.8.2).
How does it work?
- First, an attempt is made to grab the CDN version (Google's CDN url is used above, but of course you could link to any source you like).
- Immediately afterwards, we check for the
jQuery
global object. - If
jQuery
does not exist, the obvious assumption is that we didn't manage to get the code from the CDN, so then wedocument.write
a script tag to get a copy from a local source instead.
Solution 2
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")">\x3C/script>')</script>
Related videos on Youtube
Author by
JudyJ
Updated on February 07, 2020Comments
-
JudyJ over 4 years
Right now I have the following links in my code:
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
etc ...
I'd like to make use of the google.com cached copies. I heard google is the best source but please correct me if I am wrong.
Anyway is it possible for me to code my application so it uses code from google if available and locally if not. FYI I am using Microsoft MVC3 and the Msoft cloud servers.
Thanks
-
James Montagne about 13 yearsExtensive discussion here: stackoverflow.com/questions/1014203/…
-
-
ThiefMaster about 13 yearsDepending on how you connection is "not online" it might take a long time though due to timeouts.
-
isNaN1247 about 13 years@TheifMaster Whilst I agree that performance wouldn't be great, this fallback is meant for when Googles CDN has failed to serve us. Not only would most people have a cached copy - those that didn't would be seeing a lot of ugly/broken sites online - whilst yours (with this fallback) would just be a bit slow
-
harpo almost 11 years@beardtwizzle, it is more than a bit slow these days. I do a great deal of development offline, and it seems that the latest browsers (Firefox at least) wait much longer than it used to for these requests to resolve; meanwhile, your script is blocking.
-
MartyIX almost 9 yearsPlease see stackoverflow.com/questions/8231048/… if you wonder about \x3C :-)
-
Underverse almost 8 yearsPity StackExchange does not use this fallback method. For any place which firewalls googleapis.com StackExchange pages will load but logon and feedback is disabled.