【问题标题】:How to detect if Moment js is loaded from CDN如何检测 Moment js 是否从 CDN 加载
【发布时间】:2018-09-06 20:14:37
【问题描述】:
如果时刻 js 没有从 CDN 加载,我想创建一个后备。我在网上找不到任何有用的资源,在momentjs.com 上也找不到检测 Moment js 是否存在。
这是我的代码:
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.min.js"></script>
<script>
// If moment.js is not loaded, use the fallback
if () {
document.write('<script src="assets/plugins/moment/moment.min.js"><\/script>');
}
</script>
【问题讨论】:
标签:
javascript
momentjs
cdn
fallback
【解决方案1】:
Moment 在加载时会附加到window,所以你可以这样做:
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.js"></script>
<script>
if (!window.moment) {
document.write('<script src="assets/plugins/moment/moment.min.js"><\/script>');
}
</script>
【解决方案2】:
我更喜欢写找到这个answer的单行代码
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.js"></script>
<script>window.moment || document.write('\x3Cscript src="assets/plugins/moment/moment.min.js" type="text/javascript">\x3C/script>')</script>