Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
替代CSS和javascript链接_Javascript_Html_Css - Fatal编程技术网

替代CSS和javascript链接

替代CSS和javascript链接,javascript,html,css,Javascript,Html,Css,我想知道,如果无法联系到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.

我想知道,如果无法联系到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,并且没有这些缓存版本,但我希望有一个替代方案。这可能吗?

我刚刚用这个来创建了一个网站,请告诉我这是否是您的想法:

<script type="text/javascript" async src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script>
        window.jQuery || document.write('<script src="/path/to/file"><\/script>')
    </script>

window.jQuery | | document.write(“”)
也许你可以用一些类似的东西来加载你的引导程序,我会在《男性时间》中详细介绍,如果有帮助,请告诉我

编辑:

还发现其他人提出的此线程问题,可能有用:


有关css部分,请参见此处的答案:

有关js部分,请参见:

TL;博士:

<link rel="stylesheet" type="text/css" href="cdnurl/styles.css" onload="alert('loaded')" onerror="javascript:loadCSSBackup()" />

<script type="text/javascript>
    function loadCSSBackup(){
        var css = document.createElement("link")
        css.setAttribute("rel", "stylesheet");
        css.setAttribute("type", "text/css");
        css.setAttribute("href", 'backup/styles.css');
        document.getElementsByTagName("head")[0].appendChild(css);
    }
</script>

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

例如,使用fallback.js:

HTML:

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

上面的文章在fallback.js API上似乎有点过时,所以我已经基于当前状态包含了这个示例

这个答案也是:@ODelibalta看起来非常特定于jQuery,有没有更通用的方法可以检查引导?我相信这可能是一个更有用的资源:@DevinH。完美的你应该把答案转换成我可以接受的答案,因为其他两个答案都不是完整的,你想知道是否有一个引导的解决方法,因为检查看起来是jQuery特定的。刚刚编辑了我的文章,你想要的是引导的cdn回退,但似乎没有对象,我链接到的线程给出了这个问题的答案。
<link rel="stylesheet" 
      href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
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 });