ZURB基金会:CDN foundation.min.js,回退到本地

时间:2013-08-10 14:51:01

标签: zurb-foundation

我想加载带有本地回退的foundation.min.js的CDN版本。问题是:如何检测foundation.js是否已加载?

我看到它完成了jQuery,modernizr,Bootstrap ......但我找不到Foundation的代码。 除了“ window.Foundation ”部分之外,它应该看起来像这样:

<!-- jsDelivr CDN -->
<script src="//cdn.jsdelivr.net/foundation/4.3.1/js/foundation.min.js"></script>
<!-- Fallback to local -->
<script>window.Foundation || document.write('<script src="/js/vendor/foundation.min.js"><\/script>')</script>

2 个答案:

答案 0 :(得分:6)

好的,事实证明我的原始代码实际上是正确的。 Foundation是实际的JavaScript对象,我在其他地方有一个错字。所以,总结一下......你可以从CDN加载foundation.min.js,并带有这样的本地回退:

<!-- jsDelivr CDN -->
<script src="//cdn.jsdelivr.net/foundation/4.3.1/js/foundation.min.js"></script>
<!-- Fallback to local -->
<script>window.Foundation || document.write('<script src="/js/vendor/foundation.min.js"><\/script>')</script>

如果有人有兴趣,我已经为所有Foundation所需文件创建了CDN /本地回退的要点: gist.github.com/kevinwake/6208601

答案 1 :(得分:1)

RequireJS可能是您的唯一选择。

来自http://requirejs.org/docs/api.html#pathsfallbacks

的第4.6.2和4.6.3节
requirejs.config({
//To get timely, correct error triggers in IE, force a define/shim exports check.
enforceDefine: true,
paths: {
    jquery: [
        'http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min',
        //If the CDN location fails, load from this location
        'lib/jquery'
    ]
}
});

//Later
require(['jquery'], function ($) {
});  

上面的代码将尝试CDN位置,但如果失败,则回退到本地lib / jquery.js位置。

祝你好运!