`

html页面加载

阅读更多

浏览器加载显示html的顺序:

 

1IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的。

2、在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都已经下载完)

3、如果遇到语义解释性的标签嵌入文件(JS脚本,CSS样式),那么此时IE的下载过程会启用单独连接进行下载。

4、并且在下载后进行解析,解析过程中,停止页面所有往下元素的下载。阻塞加载

5、样式表在下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将对此前所有元素(含以前已经渲染的)重新进行渲染。

6JSCSS中如有重定义,后定义函数将覆盖前定义函数

 

JS的加载:

 

不能并行下载和解析(阻塞下载)

当引用了JS的时候,浏览器发送1js request就会一直等待该request的返回。因为浏览器需要1个稳定的DOM树结构,而JS中很有可能有代码直接改变了DOM树结构,比如使用 document.write appendChild,甚至是直接使用的location.href进行跳转,浏览器为了防止出现JS修改DOM树,需要重新构建DOM树的情况,所以 就会阻塞其他的下载和呈现.

 

嵌入JS应该放在什么位置


   1、放在底部,虽然放在底部照样会阻塞所有呈现,但不会阻塞资源下载。
   
  
2、如果嵌入JS放在head中,请把嵌入JS放在CSS头部。
   
  
3、使用defer
   
   4
、不要在嵌入的JS中调用运行时间较长的函数,如果一定要用,可以用setTimeout来调用

 

 

浏览器的连接数:

 

针对同一个域名,浏览器的并非连接数限制:

 

IE8的并发连接数限制为10IE8之前,对HTTP1.1的并发连接数默认限制为2个。

 

Firefox 3.6.8chrome 5.0的并发连接数都为6

 

以上是默认值,是可以手工修改的

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics