如何检测Moment js是否从CDN加载

How to detect if Moment js is loaded from CDN

如果没有从 CDN 加载 moment js,我想创建一个回退。我在网上找不到任何有用的资源,在 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>

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>

我更喜欢写单行本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>