SlideShare a Scribd company logo
1 of 17
浏览器加载策略
一、各浏览器加载的顺序
二、各浏览器的并行数量
三、浏览器对CSS selector的匹配
四、优化你的CSS
五、图片加载顺序(后叙)
各浏览器的顺序
<head>
<link href="header1.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="header1.js"></script>
</head>
<body>
   <img src="body1.jpg" alt="" />
   <p>body2.jpg</p>
   <img src="body2.jpg" alt="" />
   <script type="text/javascript" src="body2.js"></script>
   <link type="text/css" rel="stylesheet" href="body2.css" />
   <img src="body3.jpg" alt="" />
   <img src="body4.jpg" alt="" />
   <link type="text/css" rel="stylesheet" href="body3.css" />
   <script type="text/javascript" src="body3.js"></script>
   <img src="body5.jpg" alt="" />
   <img src="body6.jpg" alt="" />
</body>
</html>
各浏览器的顺序




FF7.0
各浏览器的顺序




FF7.0
各浏览器的顺序




FF7.0
各浏览器的顺序




FF7.0
各浏览器的顺序




FF7.0
各浏览器的顺序




IE9.0
各浏览器的顺序




Chrome
各浏览器的顺序




FF7.0
各浏览器的顺序




FF7.0
各浏览器的顺序




IE9.0
各浏览器的顺序




Chrome
各浏览器的顺序
总结:
1、所有浏览器都是先加载html的,所以要尽量精简html,
做到结构、表现、行为分离;
2、考虑JS阻塞加载其它元素。
3、各浏览器对CSS 和JS 加载是一样的。




   Chrome
各浏览器的并行数量
Browser HTTP/1.1 HTTP/1.0
IE 6,7     2       4
IE 8       6       6
Firefox 3+ 6       6
Safari 3+  4       4
Chrome 3+ 4         4
Opera 10+ 4         4
浏览器对CSS selector的匹配
对于一个selector,是从右至左匹配的,如
div#divBox p span.red{ color:red;….}

浏览器先找到所有class为red 的span,然后再在这些span里,
找出父容器为p的元素,再找出父容器中id为divBox的div
的p。
浏览器这样做,是为了尽早过滤掉一些无关的样式规则
和元素。

firefox称这种查找方式为keyselector(关键字查询),所谓的
关键字就是样式规则中最后(最右边)的规则,上面的key
就是span.red。
优化你的CSS
1、不要在ID选择器前使用标签名:因为ID选择器是
唯一的,加上div反而增加不必要的CSS匹配;
2、不要在class选择器前使用标签名:但如果你定义
了多个.red,而且在不同的元素下是样式不一样,则
不能去掉;
3、尽量少使用层级关系:
4、使用class代替层级关系:
5、在css渲染效率中id和class的效率是基本相当的:
class在第一次载入中被缓存,在层叠中会有更加好的
效果,在根部元素采用id会具有更加好(id有微妙的
速度优势)

More Related Content

Similar to 浏览器加载原理

高性能网站最佳实践
高性能网站最佳实践高性能网站最佳实践
高性能网站最佳实践
longhao
 
Inside the-browser
Inside the-browserInside the-browser
Inside the-browser
jy03845581
 
Inside the-browser
Inside the-browserInside the-browser
Inside the-browser
jy03845581
 
使用kslite支持第三方内容开发
使用kslite支持第三方内容开发使用kslite支持第三方内容开发
使用kslite支持第三方内容开发
leneli
 
面向开发的前端性能优化
面向开发的前端性能优化面向开发的前端性能优化
面向开发的前端性能优化
li qiang
 
网页制作基础
网页制作基础网页制作基础
网页制作基础
loo2k
 
CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練
Joseph Chiang
 
更好的文件组织
更好的文件组织更好的文件组织
更好的文件组织
Kejun Zhang
 
【第一季第四期】JavaScript Optimization
【第一季第四期】JavaScript Optimization【第一季第四期】JavaScript Optimization
【第一季第四期】JavaScript Optimization
tbosstraining
 
Web设计 5 “动感新势力”(css3 html5 以及 web_gl)
Web设计 5 “动感新势力”(css3 html5 以及 web_gl)Web设计 5 “动感新势力”(css3 html5 以及 web_gl)
Web设计 5 “动感新势力”(css3 html5 以及 web_gl)
ziggear
 
Qq.com前端架构实践与思考
Qq.com前端架构实践与思考Qq.com前端架构实践与思考
Qq.com前端架构实践与思考
greengnn
 

Similar to 浏览器加载原理 (20)

OPENCART 購物平台開發實務 DAY3教學 for 1.5.X
OPENCART 購物平台開發實務 DAY3教學 for 1.5.XOPENCART 購物平台開發實務 DAY3教學 for 1.5.X
OPENCART 購物平台開發實務 DAY3教學 for 1.5.X
 
高性能网站最佳实践
高性能网站最佳实践高性能网站最佳实践
高性能网站最佳实践
 
調配網站的明星花露水
調配網站的明星花露水調配網站的明星花露水
調配網站的明星花露水
 
Inside the-browser
Inside the-browserInside the-browser
Inside the-browser
 
Inside the-browser
Inside the-browserInside the-browser
Inside the-browser
 
深入剖析浏览器
深入剖析浏览器深入剖析浏览器
深入剖析浏览器
 
使用kslite支持第三方内容开发
使用kslite支持第三方内容开发使用kslite支持第三方内容开发
使用kslite支持第三方内容开发
 
视图模式
视图模式视图模式
视图模式
 
面向开发的前端性能优化
面向开发的前端性能优化面向开发的前端性能优化
面向开发的前端性能优化
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練32016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
 
网页制作基础
网页制作基础网页制作基础
网页制作基础
 
Alice v3
Alice v3Alice v3
Alice v3
 
台科大暑期資工營 - 前端入門
台科大暑期資工營 - 前端入門台科大暑期資工營 - 前端入門
台科大暑期資工營 - 前端入門
 
Browser Object Model
Browser Object ModelBrowser Object Model
Browser Object Model
 
CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練
 
更好的文件组织
更好的文件组织更好的文件组织
更好的文件组织
 
【第一季第四期】JavaScript Optimization
【第一季第四期】JavaScript Optimization【第一季第四期】JavaScript Optimization
【第一季第四期】JavaScript Optimization
 
Exam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development FundamentalsExam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development Fundamentals
 
Web设计 5 “动感新势力”(css3 html5 以及 web_gl)
Web设计 5 “动感新势力”(css3 html5 以及 web_gl)Web设计 5 “动感新势力”(css3 html5 以及 web_gl)
Web设计 5 “动感新势力”(css3 html5 以及 web_gl)
 
Qq.com前端架构实践与思考
Qq.com前端架构实践与思考Qq.com前端架构实践与思考
Qq.com前端架构实践与思考
 

浏览器加载原理