Best of both worlds:
<script src="//example.cdn.com/jquery.min.js"></script> <script>window.jQuery || document.write('<script src="scripts/jquery.min.js"><\/script>') </script>
<script src="//example.cdn.com/jquery.min.js"></script> <script>window.jQuery || document.write('<script src="scripts/jquery.min.js"><\/script>') </script>
If it is, you can flip a switch that tells the code to use the local repositories until the service is back up.
That assumes there's a clean fail on the initial request for jQuery i.e. it returns a HTTP error.
What happens when the webserver just doesn't respond? DOM construction is just going to wait until the browser times the connection out before it starts to download the fall back (know as a 3rd Party SPOF)
The time out is 30 seconds plus so essentially the page is broken from the user perspective.