【问题标题】:How to load a local copy of a generic CSS file when CDN is down? [duplicate]CDN 关闭时如何加载通用 CSS 文件的本地副本? [复制]
【发布时间】:2014-02-11 06:00:20
【问题描述】:

当 CDN 宕机时,是否有通用的解决方案来加载本地备份 CSS 文件?

<link rel="stylesheet" href="//somecdn.com/somefile.css"/>
<!-- load a local file here if needed -->

我有 5 个来自不同 CDN 的此类 CSS 文件,加载顺序很重要。

到目前为止我遇到的解决方案不太令人满意:

  • 创建一个虚拟div 并用它来检查一些应该加载的属性
  • 检查document.styleSheets[0].cssRules.length -- 这是跨站点访问,某些浏览器不允许

【问题讨论】:

    标签: javascript html css cdn


    【解决方案1】:

    div 属性检测是第一步。选择可靠的东西。例如,高度和能见度可能效果很好。

    根据检测结果,您可以决定动态加载本地 css:

        csl=document.createElement('link');
        csl.setAttribute('rel','stylesheet');
        csl.setAttribute('type','text/css');
        csl.setAttribute('href','mylocalcss.css');
        document.getElementsByTagName("head").item(0).appendChild(csl);
    

    【讨论】:

      【解决方案2】:

      如果 CDN 不可靠,则不要使用它们。

      没有简单的方法来加载像there is for JS files 这样的备用 CSS。切换为始终加载本地 CSS,但继续为 JS 使用 CDN(带有本地备份)。

      【讨论】:

        猜你喜欢
        • 2012-12-17
        • 2012-11-24
        • 1970-01-01
        • 2014-12-04
        • 2013-04-11
        • 2012-09-16
        • 2017-04-14
        • 1970-01-01
        • 2014-01-28
        相关资源
        最近更新 更多