如果CDNJS不可用,则加载本地

时间:2013-11-17 22:59:03

标签: javascript jquery local cdn

我在每个项目中都使用了几个JavaScript文件,目前使用CDNJS加载它们。

但是,我试图查看是否有一种很好的方法来检查CDN是否可用,或者是否可以从CDN获得这些文件。当然,如果CDN上没有这些文件,我会在本地加载它们。

以下是我目前使用的JS文件:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>window.jQuery || document.write('<script type="text/javascript" src="./scripts/jquery.min.js">\x3C/script>')</script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/retina.js/1.0.1/retina.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.3.0/respond.js"></script>

<!--[if (gte IE 6)&(lte IE 8)]>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/selectivizr/1.0.2/selectivizr-min.js"></script>
<![endif]-->

正如您所看到的,如果我有加载jQuery的后备,但不能用于任何其他文件。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:12)

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/retina.js/1.0.1/retina.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.3.0/respond.js"></script>
<script>
window.jQuery || document.write('<script type="text/javascript" src="./scripts/jquery.min.js">\x3C/script>')
window.Modernizr || document.write('<script type="text/javascript" src="./scripts/modernizr.min.js">\x3C/script>')
window.RetinaImage || document.write('<script type="text/javascript" src="./scripts/retina.js">\x3C/script>')
window.respond || document.write('<script type="text/javascript" src="./scripts/respond.js">\x3C/script>')
</script>