代码之家  ›  专栏  ›  技术社区  ›  Gopi

ASPX页中CSS和脚本调用的顺序

  •  3
  • Gopi  · 技术社区  · 14 年前

    ASPX页面中调用外部CSS或脚本的具体顺序是否有助于减少页面加载时间?

    script type="text/javascript" src="../Includes/JavaScript/jquery.ui.tabs.js" 
    link href="../Includes/css/ui.all.css" rel="Stylesheet" type="text/css"
    

    link href="../Includes/css/ui.all.css" rel="Stylesheet" type="text/css"    
    script type="text/javascript" src="../Includes/JavaScript/jquery.ui.tabs.js" 
    

    或者其他订单?

    4 回复  |  直到 11 年前
        1
  •  2
  •   Fermin    14 年前

    最佳实践是将样式表调用放在head元素的顶部,脚本调用放在body元素的底部,最好放在body元素的底部。

    http://developer.yahoo.com/yslow/help/#guidelines 详情。

        2
  •  0
  •   Shikiryu DhruvJoshi    14 年前

    两个都需要装填,所以我会选择“不”。任何命令都不会帮助增加页面加载时间。

    不管怎样,根据习惯,我在JS之前加载CSS,这样即使两者都需要完全加载,至少在CSS被加载时也是如此。

        3
  •  0
  •   xtofl Adam Rosenfield    14 年前

    常识是:先把延迟最大的放在第一位。

    假设负载延迟分别为100 ms和50 ms;

    • 如果100毫秒的请求在50毫秒前10毫秒发出,则总延迟为(0毫秒+(100毫秒10毫秒+50毫秒))=100毫秒。

    • 如果先执行较短的请求,则得到(0毫秒+(50毫秒10毫秒+100毫秒))=110毫秒。

    但一定要区分WallClock时间、吞吐量时间和用户体验时间。

        4
  •  0
  •   Mark Chorley    14 年前

    当然,页面加载时间可能意味着不止一件事。对于最终用户来说,它可以表示在屏幕上看到某个东西之前所花费的时间。或者它可能意味着下载所有资源所花费的时间。

    同一时间只能打开到给定服务器的两个连接(至少是这样, see here for reference )因此,考虑到这一点,您应该关注几个要点。

    • 通过组合JS和CSS文件并压缩它们,尽量减少请求的数量。有很多实用程序可以实现这一点。这可能会对你能做的任何事产生最大的影响。
    • 正如费明指出的那样,CSS和JS是一个很好的经验法则。您可能只限于通过层叠来处理CSS文件的顺序,以及通过库依赖性来处理JS文件。但是,尽量确保你没有两个大文件在顶部,这将阻止其他下载在你的会话,直到他们完成。