我想知道如果无法到达CDN,是否可以提供备用链接。例如,引导程序提供要从CDN下载的标签,如果无法访问,则提供本地存储的引导程序:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>

<!-- if cannot be downloaded -->
<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/bootstrap.min.js"></script>


我想使用此模型,因为浏览器缓存CDN文件,因此可以通过使用它来提高速度(而且它们的下载时间可能比我的服务器要好)。尽管有人通过本地网络连接但没有连接到Internet并且没有这些缓存版本之一的可能性很小,但我还是想替代一下。这可能吗?

最佳答案

http://eddmann.com/posts/providing-local-js-and-css-resources-for-cdn-fallbacks/

该链接回答了问题的两个部分。

对于您的示例,使用fallback.js:

HTML:

<link rel="stylesheet"
      href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">


JS:

cfg({
    "libs": {
        'css$bootstrap': {
            'exports': '.col-xs-12',
            'urls': 'css/bootstrap.min.css'
        },
        'bootstrapjs': {
            'urls': [
                'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js',
                'js/bootstrap.min.js'
            ]
        }
    }
});

req(function(css$bootstrap, bootstrapjs){ //Everything is loaded });


看来上面的文章在fallback.js API上有些过时,因此我包括了基于当前状态的示例。 https://github.com/dolox/fallback/blob/master/README.md

10-06 04:31