第一部分 – 第16章
对外部CSS文件以及内嵌CSS代码的调用应放置于外部JavaScript文件以及内嵌JavaScript代码之前。以这种操作方式,移动网站页面将得以更快加载。
如下展示了一个典型的浏览器在加载一个网站页面时如何对CSS和JavaScript进行响应。
- 当网络浏览器加载移动网站页面时,首先接收该页面的HTML,然后开始获取页面的所有资源文件(例如CSS, JavaScript,图片等)。
- 当网络浏览器开始下载JavaScript时,在JavaScript完全被加载之前就不再下载任何其他内容了。这正是不可以将JavaScript放置在CSS之前的原因。
错误的方式
下列HTML代码显示了所有外部JavaScript文件均被放置在所有外部CSS文件和内嵌CSS代码之前。这对于页面加载速度而言,并没有实现最佳顺序。
<head> <script src="http://res.example.com/script.js"></script> <script src="http://m.example-2.com/script2.js"></script> <link rel="stylesheet" href="http://res.example.com/style.css" /> <link rel="stylesheet" href="http://m.example-2.com/style2.css" /> <style> #section1 { background-color: red; color: white; font-family: "Courier New"; text-align: left; padding: 10px; } #section2 { color: grey; font-size: 0.8em; font-style: italic; } </style> </head>
正确的方式
下列HTML代码显示了 所有外部CSS文件和内嵌CSS代码均被放置在所有外部JavaScript文件之前。这种方式是正确的,以最佳顺序对页面加载速度进行优化。
<head> <link rel="stylesheet" href="http://res.example.com/style.css" /> <link rel="stylesheet" href="http://m.example-2.com/style2.css" /> <style> #section1 { background-color: red; color: white; font-family: "Courier New"; text-align: left; padding: 10px; } #section2 { color: grey; font-size: 0.8em; font-style: italic; } </style> <script src="http://res.example.com/script.js"></script> <script src="http://m.example-2.com/script2.js"></script> </head>
- 上一章:减少DNS查询
- 下一章:避免CSS @Import
移动网站性能技术白皮书在2017年3月正式出版。
英文版:Optimize the Loading Order of CSS and JavaScript – 繁体中文版:优化CSS和JavaScript的加载顺序
移动网站性能技术白皮书上的内容按下列许可协议发布: CC Attribution-Noncommercial 4.0 International