AntiGameZ
V2EX  ›  问与答

如何更好的在网站中使用 javascript/css cdn

  •  
  •   AntiGameZ · Oct 7, 2011 · 6791 views
    This topic created in 5344 days ago, the information mentioned may be changed or developed.
    Google, Microsoft 都有提供 js cdn,一般至少也为 jQuery Theme 提供 css cdn 的服务。小众一些的 js 库一般可以到 http://www.cdnjs.com 找到。

    但是,因为墙,Google CDN 时常不稳定,Microsoft 虽然好了不少,但即便如此,在我目前的场景中,因为本地网络的一些问题,还是不足够提供大于网站本身可用性的保证。

    想了想,可以自己找个域名做解析,在内网就解析到内网服务器,外网的话则解析到外面的 CDN。坏处就是又要多维护一个东西,还得自己维护个 DNS。

    另外一个办法就是用 Modernizer:



    坏处 Modernizer 的网站说的很清楚,会导致 js/css 文件串行加载,对用户体验有很大负面影响。

    不知道大家有没有遇到这个问题,是怎么解决的呢?
    15 replies    1970-01-01 08:00:00 +08:00
    chone
        1
    chone  
       Oct 7, 2011
    that5
        2
    that5  
       Oct 7, 2011 via Android
    sina+1
    chuangbo
        3
    chuangbo  
       Oct 7, 2011
    @that5 @chone sina 的居然没有 SSL 支持,叫神马 CDN
    chuangbo
        4
    chuangbo  
       Oct 7, 2011
    关于lz的 fallback 方案,连 Modernizr 的作者都没用 Modernizr
    https://github.com/paulirish/html5-boilerplate/blob/master/index.html#L48
    benzheren
        5
    benzheren  
       Oct 7, 2011
    新浪的cdn jquery只支持到1.5.2,晕啊⋯⋯
    spark
        6
    spark  
       Oct 7, 2011
    @benzheren 其实是支持到1.6.2的,在此列表可查看到。

    http://lib.sinaapp.com/?path=jquery/
    AntiGameZ
        7
    AntiGameZ  
    OP
       Oct 7, 2011
    @chuangbo 是啊,modernizer 的这种方案杀伤力太大了,只有特定情况(比如确实知道99.99%的用户都不会使用IE6/7)才可以使用,所以作者自己不用也不奇怪。

    @chone sina cdn 的问题其实也是一样的,我这教育网,抽抽是家常便饭,ms 如果不灵,基本上 sina 也歇菜
    chone
        8
    chone  
       Oct 7, 2011
    @chuangbo 这个方案更好
    AntiGameZ
        9
    AntiGameZ  
    OP
       Oct 7, 2011
    @chone 明白了,我来试试看是否可以并行加载
    mywaiting
        10
    mywaiting  
       Oct 7, 2011
    神马并行加载神马的都是所谓的前端工程师整出来的忽悠人的啦,IE6的份额还在30%以上就别跟哥说什么并行加载。在服务器端按照依赖关系编译好Js,Google Complier压缩一下,一个文件全部发送到用户的页面上,像Quora那样就很不错。整什么并行加载,累死不说,整天看瀑布图也很伤眼睛啊。
    chone
        11
    chone  
       Oct 7, 2011
    @mywaiting 我也是这个观点,其实很多时候DNS什么的部分花掉的时间要比下载的时间多。
    Sivan
        12
    Sivan  
       Oct 7, 2011
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
    <script type="text/javascript">window.jQuery || document.write('<script type="text/javascript" src="/js/libs/jquery.min.js">\x3C/script>')</script>
    benzheren
        13
    benzheren  
       Oct 7, 2011
    @spark 谢谢了,不过貌似发现不支持https呀⋯
    anuan
        14
    anuan  
       Oct 8, 2011
    @benzheren 为什么需要https
    benzheren
        15
    benzheren  
       Oct 11, 2011
    @anuan 我们网站的安全性要求很高,所以全站都是https的,意味着所有的css什么之类的也要才从https上加载
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1004 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 18:57 · PVG 02:57 · LAX 11:57 · JFK 14:57
    ♥ Do have faith in what you're doing.